public async Task <Guid> ChangeDayAssignDate(INewDayAssignModel model) { var year = model.Year != default(int) ? model.Year : DateTime.UtcNow.Year; if (model.WeekDay.HasValue) { model.Date = CalendarHelper.GetDateByWeekAndDayNumber(year, model.WeekNumber, model.WeekDay.Value); } var dayAssign = model.DayAssignId.HasValue ? dayAssignProvider.Get(model.DayAssignId.Value) : null; if (dayAssign == null) { return(await CreateDayAssign(model)); } else { model.Id = model.DayAssignId.Value; await messageBus.Publish(model.Map <ChangeDayAssignDateCommand>()); if (dayAssign.StatusId == JobStatus.Expired) { await jobStatusService.Pending(dayAssign.Id, dayAssign.StatusId); } return(model.DayAssignId.Value); } }
public async Task ChangeTaskDate(string jobId, Guid dayAssignId, DateTime date) { JobAssign jobAssign = jobAssignProvider.GetByJobId(jobId); IDayAssign dayAssign = dayAssignService.GetDayAssignById(dayAssignId); WeekModel weekModel = jobAssign.WeekList.First(); int weekDay = date.GetWeekDayNumber(); int weekNumber = date.GetWeekNumber(); var dayPerWeekList = new List <DayPerWeekModel> { new DayPerWeekModel { Id = Guid.NewGuid(), WeekDay = weekDay } }; var weekList = new List <WeekModel> { new WeekModel { Number = weekNumber, IsDisabled = false, ChangedBy = weekModel.ChangedBy } }; await messageBus.Publish(new ChangeJobAssignWeeksCommand(jobAssign.Id, weekList, (ChangedByRole)weekModel.ChangedBy, false)); await messageBus.Publish(new SaveDaysPerWeekCommand(jobAssign.Id, dayPerWeekList)); await messageBus.Publish(new ChangeOperationalTaskDateCommand(dayAssignId, date, weekDay)); if (dayAssign.StatusId == JobStatus.Expired) { await jobStatusService.Pending(dayAssign.Id, dayAssign.StatusId); } }