change current day mannual edit validaton
This commit is contained in:
@@ -336,15 +336,19 @@ public class RollCallApplication : IRollCallApplication
|
||||
public OperationResult ManualEdit(CreateOrEditEmployeeRollCall command)
|
||||
{
|
||||
var operation = new OperationResult();
|
||||
var now = DateTime.Now;
|
||||
|
||||
DateTime date = command.DateFa.ToGeorgianDateTime();
|
||||
if (date == Tools.GetUndefinedDateTime())
|
||||
return operation.Failed("فرمت تاریخ وارد شده صحیح نمی باشد");
|
||||
|
||||
if (date >= DateTime.Now.Date)
|
||||
{
|
||||
return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
}
|
||||
|
||||
|
||||
|
||||
//if (date >= DateTime.Now.Date)
|
||||
//{
|
||||
// return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
//}
|
||||
|
||||
var twoDaysEarlier = date.AddDays(-2).Date;
|
||||
var twoDaysLater = date.AddDays(2).Date >= DateTime.Today
|
||||
@@ -407,8 +411,8 @@ public class RollCallApplication : IRollCallApplication
|
||||
if (startDateTime >= endDateTime)
|
||||
return operation.Failed("زمان ورود نمی تواند بعد یا مساوی زمان خروج باشد");
|
||||
|
||||
if (endDateTime.Date >= DateTime.Today)
|
||||
return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
//if (endDateTime.Date >= DateTime.Today)
|
||||
// return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
|
||||
var rollCall = new EditRollCall
|
||||
{
|
||||
@@ -420,7 +424,10 @@ public class RollCallApplication : IRollCallApplication
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (newRollCallDates.Any(x => x.StartDate >= now || x.EndDate >= now))
|
||||
{
|
||||
return operation.Failed("حضورغیاب وارد شده نمیتواند در آینده باشد");
|
||||
}
|
||||
|
||||
if (newRollCallDates.Any(x => newRollCallDates.Any(y => x != y && x.EndDate >= y.StartDate && x.StartDate <= y.EndDate)))
|
||||
return operation.Failed("بازه های وارد شده با هم تداخل دارند");
|
||||
@@ -447,7 +454,7 @@ public class RollCallApplication : IRollCallApplication
|
||||
{
|
||||
x.ShiftDate =
|
||||
_rollCallDomainService.GetEmployeeShiftDateByRollCallStartDate(command.WorkshopId, command.EmployeeId,
|
||||
x.StartDate!.Value,x.EndDate!.Value);
|
||||
x.StartDate!.Value,x.EndDate.Value);
|
||||
});
|
||||
|
||||
if (newRollCallDates.Any(x => x.ShiftDate.Date != date.Date))
|
||||
@@ -455,14 +462,13 @@ public class RollCallApplication : IRollCallApplication
|
||||
return operation.Failed("حضور غیاب در حال ویرایش را نمیتوانید از تاریخ شیفت عقب تر یا جلو تر ببرید");
|
||||
}
|
||||
|
||||
|
||||
if (new TimeSpan(newRollCallDates.Sum(x => (x.EndDate.Value - x.StartDate.Value).Ticks)) > TimeSpan.FromHours(26))
|
||||
{
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
}
|
||||
if (new TimeSpan(newRollCallDates.Sum(x => (x.EndDate.Value - x.StartDate.Value).Ticks)) > TimeSpan.FromHours(26))
|
||||
{
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
}
|
||||
|
||||
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
y.StartDate.Value.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
x.EndDate >= y.StartDate.Value && x.StartDate <= y.EndDate.Value)))
|
||||
return operation.Failed("بازه های وارد شده با حضور غیاب های مربوط به روز های قبل و بعد تداخل زمانی دارد");
|
||||
@@ -496,26 +502,27 @@ public class RollCallApplication : IRollCallApplication
|
||||
|
||||
_rollCallRepository.AddRange(rollCallsAsEntityModels);
|
||||
_rollCallRepository.SaveChanges();
|
||||
|
||||
foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels)
|
||||
{
|
||||
rollCallsAsEntityModel.Edit(rollCallsAsEntityModel.StartDate.Value, rollCallsAsEntityModel.EndDate.Value, _rollCallDomainService);
|
||||
}
|
||||
_rollCallRepository.SaveChanges();
|
||||
|
||||
return operation.Succcedded();
|
||||
}
|
||||
public OperationResult ManualEditForUndefined(CreateOrEditEmployeeRollCall command)
|
||||
{
|
||||
var operation = new OperationResult();
|
||||
var now = DateTime.Now;
|
||||
|
||||
DateTime date = command.DateFa.ToGeorgianDateTime();
|
||||
if (date == Tools.GetUndefinedDateTime())
|
||||
return operation.Failed("فرمت تاریخ وارد شده صحیح نمی باشد");
|
||||
|
||||
if (date >= DateTime.Now.Date)
|
||||
{
|
||||
return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
}
|
||||
//if (date >= DateTime.Now.Date)
|
||||
//{
|
||||
// return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
//}
|
||||
|
||||
var twoDaysEarlier = date.AddDays(-2).Date;
|
||||
var twoDaysLater = date.AddDays(2).Date >= DateTime.Today
|
||||
@@ -578,8 +585,8 @@ public class RollCallApplication : IRollCallApplication
|
||||
if (startDateTime >= endDateTime)
|
||||
return operation.Failed("زمان ورود نمی تواند بعد یا مساوی زمان خروج باشد");
|
||||
|
||||
if (endDateTime.Date >= DateTime.Today)
|
||||
return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
//if (endDateTime.Date >= DateTime.Today)
|
||||
// return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
|
||||
var rollCall = new EditRollCall
|
||||
{
|
||||
@@ -594,6 +601,12 @@ public class RollCallApplication : IRollCallApplication
|
||||
{
|
||||
|
||||
});
|
||||
|
||||
if (newRollCallDates.Any(x => x.StartDate >= now || x.EndDate >= now))
|
||||
{
|
||||
return operation.Failed("حضورغیاب وارد شده نمیتواند در آینده باشد");
|
||||
}
|
||||
|
||||
if (newRollCallDates.Any(x => newRollCallDates.Any(y => x != y && x.EndDate >= y.StartDate && x.StartDate <= y.EndDate)))
|
||||
return operation.Failed("بازه های وارد شده با هم تداخل دارند");
|
||||
|
||||
@@ -618,7 +631,7 @@ public class RollCallApplication : IRollCallApplication
|
||||
{
|
||||
x.ShiftDate =
|
||||
_rollCallDomainService.GetEmployeeShiftDateByRollCallStartDate(command.WorkshopId, command.EmployeeId,
|
||||
x.StartDate!.Value,x.EndDate!.Value);
|
||||
x.StartDate!.Value,x.EndDate.Value);
|
||||
});
|
||||
if (newRollCallDates.Any(x => x.ShiftDate.Date != date.Date))
|
||||
{
|
||||
@@ -626,10 +639,10 @@ public class RollCallApplication : IRollCallApplication
|
||||
}
|
||||
if (new TimeSpan(newRollCallDates.Sum(x => (x.EndDate.Value - x.StartDate.Value).Ticks)) > TimeSpan.FromHours(26))
|
||||
{
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
}
|
||||
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
y.StartDate.Value.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
x.EndDate >= y.StartDate.Value && x.StartDate <= y.EndDate.Value)))
|
||||
return operation.Failed("بازه های وارد شده با حضور غیاب های مربوط به روز های قبل و بعد تداخل زمانی دارد");
|
||||
|
||||
Reference in New Issue
Block a user