manadatory Compute friday count bug fix
This commit is contained in:
@@ -13,6 +13,10 @@ public class GroupedRollCalls
|
|||||||
public TimeSpan BreakTime { get; set; }
|
public TimeSpan BreakTime { get; set; }
|
||||||
public DateTime ShiftDate { get; set; }
|
public DateTime ShiftDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ های جمع کاری
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? Fridays { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// تاخیر در ورود (مدت زمانی که کارمند با تأخیر وارد شده است)
|
/// تاخیر در ورود (مدت زمانی که کارمند با تأخیر وارد شده است)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -159,15 +159,40 @@ public class RollCallMandatoryRepository : RepositoryBase<long, RollCall>, IRoll
|
|||||||
{
|
{
|
||||||
breakTime = CalculateBreakTime(breakTimeEntity, new TimeSpan(x.Sum(shift => shift.ShiftSpan.Ticks)));
|
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,
|
CreationDate = x.Key,
|
||||||
ShiftList = x.Select(s => new ShiftList() { Start = s.StartDate!.Value, End = s.EndDate!.Value, EndWithOutResTime = s.EndDate!.Value })
|
ShiftList = x.Select(s => new ShiftList() { Start = s.StartDate!.Value, End = s.EndDate!.Value, EndWithOutResTime = s.EndDate!.Value })
|
||||||
.ToList(),
|
.ToList(),
|
||||||
HasFriday = x.Any(s =>
|
//HasFriday = x.Any(s =>
|
||||||
s.StartDate != null && s.EndDate != null && (s.StartDate.Value.DayOfWeek == DayOfWeek.Friday ||
|
// s.StartDate != null && s.EndDate != null && (s.StartDate.Value.DayOfWeek == DayOfWeek.Friday ||
|
||||||
s.EndDate.Value!.DayOfWeek == DayOfWeek.Friday)),
|
// s.EndDate.Value!.DayOfWeek == DayOfWeek.Friday)),
|
||||||
SumOneDaySpan = new TimeSpan(x.Sum(shift => shift.ShiftSpan.Ticks)) - breakTime,
|
|
||||||
|
Fridays = friday,
|
||||||
|
|
||||||
|
SumOneDaySpan = new TimeSpan(x.Sum(shift => shift.ShiftSpan.Ticks)) - breakTime,
|
||||||
|
|
||||||
BreakTime = 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()
|
//List<GroupedRollCalls> rollCallSubtractSpan = groupedRollCall.Select(x => new GroupedRollCalls()
|
||||||
//{
|
//{
|
||||||
// CreationDate = x.CreationDate,
|
// CreationDate = x.CreationDate,
|
||||||
// AfterSubtractRestSpan = AfterSubtract(command, x.SumOneDaySpan, x.CreationDate),
|
// AfterSubtractRestSpan = AfterSubtract(command, x.SumOneDaySpan, x.CreationDate),
|
||||||
//}).ToList();
|
//}).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));
|
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">
|
<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/=Govermentlist/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mcls/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mcls/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||||
Reference in New Issue
Block a user