manadatory Compute friday count bug fix
This commit is contained in:
@@ -13,6 +13,10 @@ public class GroupedRollCalls
|
||||
public TimeSpan BreakTime { get; set; }
|
||||
public DateTime ShiftDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ های جمع کاری
|
||||
/// </summary>
|
||||
public DateTime? Fridays { get; set; }
|
||||
/// <summary>
|
||||
/// تاخیر در ورود (مدت زمانی که کارمند با تأخیر وارد شده است)
|
||||
/// </summary>
|
||||
|
||||
@@ -159,15 +159,40 @@ public class RollCallMandatoryRepository : RepositoryBase<long, RollCall>, 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<long, RollCall>, 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<GroupedRollCalls> rollCallSubtractSpan = groupedRollCall.Select(x => new GroupedRollCalls()
|
||||
//{
|
||||
// CreationDate = x.CreationDate,
|
||||
// AfterSubtractRestSpan = AfterSubtract(command, x.SumOneDaySpan, x.CreationDate),
|
||||
//}).ToList();
|
||||
////*****کسر ساعاعت استراحت پرسنل از ساعت کار
|
||||
//List<GroupedRollCalls> 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));
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/CodeEditing/SuppressNullableWarningFix/Enabled/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Govermentlist/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mcls/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
Reference in New Issue
Block a user