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); } } }
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)); }
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() }; }
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); } }
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); }