diff --git a/CompanyManagment.App.Contracts/RollCall/GroupedRollCalls.cs b/CompanyManagment.App.Contracts/RollCall/GroupedRollCalls.cs
index 44f99afa..d2489592 100644
--- a/CompanyManagment.App.Contracts/RollCall/GroupedRollCalls.cs
+++ b/CompanyManagment.App.Contracts/RollCall/GroupedRollCalls.cs
@@ -13,6 +13,10 @@ public class GroupedRollCalls
public TimeSpan BreakTime { get; set; }
public DateTime ShiftDate { get; set; }
+ ///
+ /// تاریخ های جمع کاری
+ ///
+ public DateTime? Fridays { get; set; }
///
/// تاخیر در ورود (مدت زمانی که کارمند با تأخیر وارد شده است)
///
diff --git a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs
index 1f3a9592..b9eb8f86 100644
--- a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs
+++ b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs
@@ -159,15 +159,40 @@ public class RollCallMandatoryRepository : RepositoryBase, IRoll
{
breakTime = CalculateBreakTime(breakTimeEntity, new TimeSpan(x.Sum(shift => shift.ShiftSpan.Ticks)));
}
- return new GroupedRollCalls()
+
+ DateTime friday = new DateTime();
+
+ if (x.Any(s =>
+ s.StartDate != null && s.EndDate != null && s.StartDate.Value.DayOfWeek == DayOfWeek.Friday))
+ {
+ friday = x.FirstOrDefault(s =>
+ s.StartDate != null && s.EndDate != null &&
+ (s.StartDate.Value.DayOfWeek == DayOfWeek.Friday))
+ .StartDate.Value;
+
+ }
+
+ if (x.Any(s =>
+ s.StartDate != null && s.EndDate != null && s.EndDate.Value.DayOfWeek == DayOfWeek.Friday))
+ {
+ friday = x.FirstOrDefault(s =>
+ s.StartDate != null && s.EndDate != null &&
+ (s.EndDate.Value.DayOfWeek == DayOfWeek.Friday))
+ .EndDate.Value;
+ }
+
+ return new GroupedRollCalls()
{
CreationDate = x.Key,
ShiftList = x.Select(s => new ShiftList() { Start = s.StartDate!.Value, End = s.EndDate!.Value, EndWithOutResTime = s.EndDate!.Value })
.ToList(),
- HasFriday = x.Any(s =>
- s.StartDate != null && s.EndDate != null && (s.StartDate.Value.DayOfWeek == DayOfWeek.Friday ||
- s.EndDate.Value!.DayOfWeek == DayOfWeek.Friday)),
- SumOneDaySpan = new TimeSpan(x.Sum(shift => shift.ShiftSpan.Ticks)) - breakTime,
+ //HasFriday = x.Any(s =>
+ // s.StartDate != null && s.EndDate != null && (s.StartDate.Value.DayOfWeek == DayOfWeek.Friday ||
+ // s.EndDate.Value!.DayOfWeek == DayOfWeek.Friday)),
+
+ Fridays = friday,
+
+ SumOneDaySpan = new TimeSpan(x.Sum(shift => shift.ShiftSpan.Ticks)) - breakTime,
BreakTime = breakTime,
};
@@ -175,19 +200,20 @@ public class RollCallMandatoryRepository : RepositoryBase, IRoll
}
- numberOfFridays = groupedRollCall.Count(x => x.HasFriday);
+ var firdays = groupedRollCall.Where(x => x.Fridays != null && x.Fridays != new DateTime()).DistinctBy(x => x.Fridays.Value.Date).ToList();
+ numberOfFridays = firdays.Count();
- ////*****کسر ساعاعت استراحت پرسنل از ساعت کار
- //List rollCallSubtractSpan = groupedRollCall.Select(x => new GroupedRollCalls()
- //{
- // CreationDate = x.CreationDate,
- // AfterSubtractRestSpan = AfterSubtract(command, x.SumOneDaySpan, x.CreationDate),
- //}).ToList();
+ ////*****کسر ساعاعت استراحت پرسنل از ساعت کار
+ //List rollCallSubtractSpan = groupedRollCall.Select(x => new GroupedRollCalls()
+ //{
+ // CreationDate = x.CreationDate,
+ // AfterSubtractRestSpan = AfterSubtract(command, x.SumOneDaySpan, x.CreationDate),
+ //}).ToList();
- TimeSpan sumSpans = new TimeSpan(groupedRollCall.Sum(x => x.SumOneDaySpan.Ticks));
+ TimeSpan sumSpans = new TimeSpan(groupedRollCall.Sum(x => x.SumOneDaySpan.Ticks));
TimeSpan sumSpansWhitOutleaves = new TimeSpan(groupedRollCall.Sum(x => x.SumOneDaySpan.Ticks));
diff --git a/DadmehrGostar.sln.DotSettings b/DadmehrGostar.sln.DotSettings
index ed0ebd5d..2d803009 100644
--- a/DadmehrGostar.sln.DotSettings
+++ b/DadmehrGostar.sln.DotSettings
@@ -1,3 +1,4 @@
+ False
True
True
\ No newline at end of file