예제 #1
0
        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);
            }
        }
예제 #2
0
        public async Task <Guid> ChangeDayAssignEstimate(NewDayAssignViewModel model)
        {
            var dayAssign = model.DayAssignId.HasValue ? dayAssignProvider.Get(model.DayAssignId.Value) : null;

            if (dayAssign == null)
            {
                var createResult = await dayAssignService.CreateDayAssign(model);

                managementHubs.Clients.All.refreshWeekPlanGridTasks();
                managementHubs.Clients.All.refreshWeekPlanListTasks();
                return(createResult);
            }
            else
            {
                model.Id = model.DayAssignId.Value;
                await messageBus.Publish(model.Map <ChangeDayAssignEstimatedMinutesCommand>());

                var changeResult = model.DayAssignId.Value;
                managementHubs.Clients.All.refreshWeekPlanGridTasks();
                managementHubs.Clients.All.refreshWeekPlanListTasks();
                return(changeResult);
            }
        }