protected virtual async Task UpdateDispatch(DispatchPublishInput input) { var user_id = AbpSession.UserId; var ret = new DispatchPublishOutput(); var projectmodel = await _projectBaseRepository.GetAsync(input.ProjectId); var model = await _dispatchMessageRepository.GetAll().FirstOrDefaultAsync(r => r.ProjectId == input.ProjectId && r.UserId == user_id); if (model != null) { model.Additional = input.Additional; model.DispatchCode = input.DispatchCode; model.EndDate = input.EndDate; model.ProjectUndertakeCode = input.ProjectUndertakeCode; model.Reason = input.Reason; model.Remark = input.Remark; await _dispatchMessageRepository.UpdateAsync(model); } }
public async Task <DispatchPublishOutput> GetDispatchForEidt(Guid projectId) { var user_id = AbpSession.UserId; var ret = new DispatchPublishOutput(); var projectmodel = await _projectBaseRepository.GetAsync(projectId); var model = await _dispatchMessageRepository.GetAll().FirstOrDefaultAsync(r => r.ProjectId == projectId); if (model != null) { ret = model.MapTo <DispatchPublishOutput>(); ret.BaseOutput = projectmodel.MapTo <CreateOrUpdateProjectBaseInput>(); ret.ProjectCode = projectmodel.ProjectCode; ret.AppraisalTypeId = projectmodel.AppraisalTypeId; ret.AuditAmount = projectmodel.AuditAmount; ret.ProjectName = projectmodel.ProjectName; ret.SingleProjectName = projectmodel.SingleProjectName; ret.SingleProjectCode = projectmodel.SingleProjectCode; ret.ProjectId = projectmodel.Id; ret.StartDate = projectmodel.CreationTime; ret.ProjectLeader = model.ProjectLeader; ret.ProjectReviewer = model.ProjectReviewer; ret.SendUnitName = model.SendUnitName; } else { ret.BaseOutput = projectmodel.MapTo <CreateOrUpdateProjectBaseInput>(); if (projectmodel.SendUnit == 0) { ret.SendUnitName = string.Empty; } else { var sendunitemodel = await _constructionOrganizationRepository.GetAsync(projectmodel.SendUnit); ret.SendUnitName = sendunitemodel == null ? "" : sendunitemodel.Name; } ret.ProjectName = projectmodel.ProjectName; ret.ProjectCode = projectmodel.ProjectCode; ret.AppraisalTypeId = projectmodel.AppraisalTypeId; ret.ProjectId = projectmodel.Id; //if (string.IsNullOrWhiteSpace(projectmodel.PersonLiable)) // ret.ProjectLeader = ""; //else //{ // var usermodel = await _userRepository.GetAsync(Int64.Parse(projectmodel.PersonLiable)); // ret.ProjectLeader = usermodel.Name; //} var leaderModel = from a in _projectAuditMemberRepository.GetAll() join u in _userRepository.GetAll() on a.UserId equals u.Id where a.ProjectBaseId == projectId && a.UserAuditRole == 1 select u.Name; ret.ProjectLeader = leaderModel.FirstOrDefault() ?? ""; var query = from memeber in _projectAuditMemberRepository.GetAll() join user in _userRepository.GetAll() on memeber.UserId equals user.Id where memeber.UserAuditRole == 2 && memeber.ProjectBaseId == projectmodel.Id select user.Name; ret.ProjectReviewer = ""; var membsers = query.ToList(); foreach (var name in membsers) { if (!string.IsNullOrWhiteSpace(ret.ProjectReviewer)) { ret.ProjectReviewer = ret.ProjectReviewer + ","; } ret.ProjectReviewer = ret.ProjectReviewer + name;; } ret.StartDate = projectmodel.CreationTime; var auditRole = (int)AuditRoleEnum.核人三; var threadAuditModel = from a in _projectAuditMemberRepository.GetAll() join b in _projectAuditMemberResultRepository.GetAll() on a.Id equals b.Pid where a.ProjectBaseId == projectmodel.Id && a.UserAuditRole == auditRole select b; ret.AuditAmount = threadAuditModel.FirstOrDefault()?.AuditAmount ?? null; } return(ret); }