|
@@ -230,6 +230,29 @@ namespace Hotline.Api.Controllers
|
|
|
if (dtos.SchedulingStartTime.HasValue && dtos.SchedulingEndTime.HasValue)
|
|
|
{
|
|
|
for (int i = 0; dtos.SchedulingStartTime.Value.AddDays(i) <= dtos.SchedulingEndTime.Value; i++)
|
|
|
+ {
|
|
|
+ var schedulingTime = dtos.SchedulingStartTime.Value.AddDays(i);
|
|
|
+ var oldScheduling = await _schedulingRepository.Queryable().Where(x => x.SchedulingUserId == user.UserId && x.ShiftId == dtos.ShiftId && x.SchedulingTime == schedulingTime).AnyAsync();
|
|
|
+ if (!oldScheduling)
|
|
|
+ {
|
|
|
+ var scheduling = new Scheduling
|
|
|
+ {
|
|
|
+ SchedulingUserId = user.UserId,
|
|
|
+ SchedulingUserName = user.UserName,
|
|
|
+ ShiftId = dtos.ShiftId,
|
|
|
+ ShiftName = dtos.ShiftName,
|
|
|
+ SchedulingTime = schedulingTime,
|
|
|
+ WorkingTime = shift.WorkingTime,
|
|
|
+ OffDutyTime = shift.OffDutyTime,
|
|
|
+ SendOrderNum = 0
|
|
|
+ };
|
|
|
+ schedulings.Add(scheduling);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ var oldScheduling = await _schedulingRepository.Queryable().Where(x => x.SchedulingUserId == user.UserId && x.ShiftId == dtos.ShiftId && x.SchedulingTime == dtos.SchedulingTime).AnyAsync();
|
|
|
+ if (!oldScheduling)
|
|
|
{
|
|
|
var scheduling = new Scheduling
|
|
|
{
|
|
@@ -237,27 +260,13 @@ namespace Hotline.Api.Controllers
|
|
|
SchedulingUserName = user.UserName,
|
|
|
ShiftId = dtos.ShiftId,
|
|
|
ShiftName = dtos.ShiftName,
|
|
|
- SchedulingTime = dtos.SchedulingStartTime.Value.AddDays(i),
|
|
|
+ SchedulingTime = dtos.SchedulingTime,
|
|
|
WorkingTime = shift.WorkingTime,
|
|
|
OffDutyTime = shift.OffDutyTime,
|
|
|
SendOrderNum = 0
|
|
|
};
|
|
|
schedulings.Add(scheduling);
|
|
|
}
|
|
|
- }
|
|
|
- else {
|
|
|
- var scheduling = new Scheduling
|
|
|
- {
|
|
|
- SchedulingUserId = user.UserId,
|
|
|
- SchedulingUserName = user.UserName,
|
|
|
- ShiftId = dtos.ShiftId,
|
|
|
- ShiftName = dtos.ShiftName,
|
|
|
- SchedulingTime = dtos.SchedulingTime,
|
|
|
- WorkingTime = shift.WorkingTime,
|
|
|
- OffDutyTime = shift.OffDutyTime,
|
|
|
- SendOrderNum = 0
|
|
|
- };
|
|
|
- schedulings.Add(scheduling);
|
|
|
}
|
|
|
}
|
|
|
await _schedulingRepository.AddRangeAsync(schedulings, HttpContext.RequestAborted);
|