Ejemplo n.º 1
0
        public async Task <Guid> ChangeDayAssignDate(NewDayAssignViewModel model)
        {
            var job = await jobService.GetJobById(model.JobId);

            if (job.JobTypeId != JobTypeEnum.Facility)
            {
                var dayPerWeekList = new List <DayPerWeekModel>();
                if (model.WeekDay.HasValue)
                {
                    var dayPerWeekId = Guid.NewGuid();
                    dayPerWeekList.Add(new DayPerWeekModel {
                        Id = dayPerWeekId, WeekDay = model.WeekDay.Value
                    });
                    model.DayPerWeekId = dayPerWeekId;
                }
                await messageBus.Publish(new SaveDaysPerWeekCommand(model.JobAssignId, dayPerWeekList));
            }

            var result = await dayAssignService.ChangeDayAssignDate(model);

            janitorHubs.Clients.All.refreshOpenTasks();
            janitorHubs.Clients.All.refreshJanitorTasks();
            managementHubs.Clients.All.refreshWeekPlanGridTasks();
            managementHubs.Clients.All.refreshWeekPlanListTasks();
            return(result);
        }
Ejemplo n.º 2
0
        public async Task <Guid> DayAssignCancel(NewDayAssignViewModel model)
        {
            var result = await dayAssignService.CancelJob(model);

            janitorHubs.Clients.All.refreshOpenTasks();
            janitorHubs.Clients.All.refreshJanitorTasks();
            managementHubs.Clients.All.refreshWeekPlanGridTasks();
            managementHubs.Clients.All.refreshWeekPlanListTasks();
            return(result);
        }
Ejemplo n.º 3
0
        public async Task <IChangeStatusModel> AssignsMembersGroup(NewDayAssignViewModel model)
        {
            var result = await dayAssignService.AssignsMembersGroup(model);

            janitorHubs.Clients.All.refreshOpenTasks();
            janitorHubs.Clients.All.refreshJanitorTasks();
            managementHubs.Clients.All.refreshWeekPlanGridTasks();
            managementHubs.Clients.All.refreshWeekPlanListTasks();
            return(result);
        }
Ejemplo n.º 4
0
        public async Task <JobViewModel> GetWeekTask(JobFilterViewModel model)
        {
            IJob task = await jobService.GetJobById(model.JobId);

            var jobAssignId      = Guid.Empty;
            var existingAssignId = model.DayAssignId.HasValue ? model.DayAssignId.Value : Guid.Empty;
            var dayAssign        = dayAssignProvider.Get(existingAssignId);

            if (dayAssign != null)
            {
                JobAssign jobAssign = jobAssignProvider.GetById(dayAssign.JobAssignId);
                task.Assigns.Add(jobAssign);
                jobAssignId = dayAssign.JobAssignId;
                task.DayAssigns.Add(dayAssign);
            }
            else
            {
                jobAssignId = jobAssignProvider.GetAssignByJobIdAndDepartmentId(model.JobId, model.HousingDepartmentId).Id;
                //Create new dayAssign and set status "Assigned"
                var newDayAssignModel = new NewDayAssignViewModel
                {
                    JobId          = model.JobId,
                    DepartmentId   = model.HousingDepartmentId,
                    JobAssignId    = jobAssignId,
                    CurrentWeekDay = model.CurrentWeekDay,
                    WeekNumber     = model.WeekNumber,
                    Date           = model.Date
                };

                var createResult = await dayAssignService.CreateDayAssignWithEstimate(newDayAssignModel);

                if (createResult != Guid.Empty)
                {
                    var newDayAssign = dayAssignProvider.Get(createResult);
                    await jobStatusService.Assigned(createResult, newDayAssign.StatusId);

                    task.DayAssigns.Add(newDayAssign);
                }
            }

            return(new JobViewModel {
                Job = task, JobAssignId = jobAssignId
            });
        }
Ejemplo n.º 5
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);
            }
        }