Example #1
0
        public async Task UnassignJob(Guid dayAssignId, string changeStatusComment, List <IMemberSpentTimeModel> members, JobStatus newJobStatus, Guid?selectedCancellingId, Guid[] uploadedFileIds)
        {
            if (!selectedCancellingId.HasValue)
            {
                throw new InvalidOperationException("Wrong parameters passed");
            }

            DayAssign dayAssign = dayAssignProvider.Get(dayAssignId);

            if (IsAllowChangeDayAssignStatus(dayAssign))
            {
                var memberModel = new ChangeDayAssignMembersComand(dayAssign.Id.ToString())
                {
                    UserIdList           = new List <Guid>(),
                    GroupId              = newJobStatus != JobStatus.Pending ? dayAssign.GroupId : null,
                    TeamLeadId           = null,
                    IsAssignedToAllUsers = newJobStatus != JobStatus.Pending && dayAssign.IsAssignedToAllUsers
                };

                await messageBus.Publish(memberModel);

                if (newJobStatus == JobStatus.Pending)
                {
                    await jobStatusService.Pending(dayAssignId, dayAssign.StatusId, changeStatusComment, members, selectedCancellingId, uploadedFileIds);
                }
                else
                {
                    await jobStatusService.Rejected(dayAssignId, dayAssign.StatusId, changeStatusComment, members, selectedCancellingId, uploadedFileIds);
                }
            }
        }
Example #2
0
        public async Task <IChangeStatusModel> AssignsMembersGroup(INewDayAssignModel model)
        {
            IChangeStatusModel moveToStatusResultModel = new ChangeStatusModel();

            DayAssign dayAssign = await CreateOrGetDayAssign(model);

            try
            {
                if (model.IsUnassignedAll)
                {
                    await jobStatusService.Pending(model.DayAssignId.Value, dayAssign.StatusId);
                }
                else if (dayAssign.StatusId != JobStatus.Assigned && model.TeamLeadId.HasValue)
                {
                    await jobStatusService.Assigned(dayAssign.Id, dayAssign.StatusId);
                }
                else if (dayAssign.StatusId != JobStatus.Opened && !model.TeamLeadId.HasValue)
                {
                    await jobStatusService.Opened(dayAssign.Id, dayAssign.StatusId);
                }

                model.Id = dayAssign.Id;
                await messageBus.Publish(model.Map <ChangeDayAssignMembersComand>());

                moveToStatusResultModel.IsSuccessful = true;
            }
            catch (NotImplementedException)
            {
                moveToStatusResultModel.IsSuccessful = false;
            }

            moveToStatusResultModel.DayAssignId = dayAssign.Id;
            return(moveToStatusResultModel);
        }
        public async Task Handle(DayAssignUploadDataUploaded message)
        {
            var model = new UploadFileModel
            {
                FileId       = Guid.Parse(message.SourceId),
                FileName     = message.Name,
                Path         = message.Path,
                ContentType  = message.ContentType,
                CreationDate = message.UploadedOn,
                UploaderId   = message.UploaderId
            };

            DayAssign dayAssign = GetDayAssignById(message.DayAssignId);

            if (dayAssign.UploadList == null)
            {
                dayAssign.UploadList = new List <UploadFileModel> {
                    model
                };
            }
            else
            {
                dayAssign.UploadList.Add(model);
            }

            await Update(message.DayAssignId.ToString(),
                         Builders <DayAssign> .Update.Set(f => f.UploadList, dayAssign.UploadList));
        }
Example #4
0
        public Task Handle(UploadDataDayAssignDeleted message)
        {
            DayAssign dayAssign = GetDayAssignByFileId(Guid.Parse(message.SourceId));

            return(UpdateDayAssign(dayAssign.Id,
                                   Builders <DayAssign> .Update.Pull(f => f.UploadList, dayAssign.UploadList.FirstOrDefault(x => x.FileId == Guid.Parse(message.SourceId)))));
        }
 private void SetUpDayAssigns()
 {
     DayAssign1 = new DayAssign()
     {
         Id = Guid.NewGuid()
     };
     DayAssign2 = new DayAssign()
     {
         Id = Guid.NewGuid()
     };
 }
Example #6
0
        private async Task <DayAssign> CreateOrGetDayAssign(INewDayAssignModel model)
        {
            DayAssign dayAssign = model.DayAssignId.HasValue ? dayAssignProvider.Get(model.DayAssignId.Value) : null;

            if (dayAssign == null)
            {
                Guid dayAssignId = await CreateDayAssign(model);

                dayAssign = dayAssignProvider.Get(dayAssignId);
            }
            return(dayAssign);
        }
        public async Task Handle(ChangeJobIdAndJobAssignIdInDayAssignCommand message)
        {
            DayAssign dayAssign = await dayAssignProvider.GetByJobIdAndDepartmentId(message.Id, message.DepartmentId);

            if (dayAssign != null)
            {
                var dayAssignDomain = await repository.Get(dayAssign.Id.ToString());

                dayAssignDomain.ChangeDayAssignJobAssignId(message.JobAssignId);
                await repository.Save(dayAssignDomain);
            }
        }
Example #8
0
        public async Task AssignJob(Guid dayAssignId)
        {
            IMemberModel member    = memberService.GetCurrentUser();
            DayAssign    dayAssign = dayAssignProvider.Get(dayAssignId);

            var userIds = dayAssign.UserIdList ?? new List <Guid>();

            userIds.Add(member.MemberId);

            var memberModel = new ChangeDayAssignMembersComand(dayAssign.Id.ToString())
            {
                UserIdList           = userIds,
                GroupId              = dayAssign.GroupId,
                TeamLeadId           = dayAssign.TeamLeadId.HasValue ? dayAssign.TeamLeadId : member.MemberId,
                IsAssignedToAllUsers = dayAssign.IsAssignedToAllUsers && dayAssign.TeamLeadId.HasValue
            };

            await messageBus.Publish(memberModel);

            await jobStatusService.Assigned(dayAssignId, dayAssign.StatusId);
        }