public async Task <ConsultationCompletionDTO> ProcessRequest(ConsultationCompletionDTO dto) { if (dto.activity == null) { dto.activity = await KtaService.TakeActivityAsync(dto.SessionId, dto.DomainModel.JobId, dto.NodeID, dto.EPC); } if (dto.activity.Identity.NodeId == dto.NodeID && (dto.activity.Identity.NodeId == ConstantNodes.Research_Collaboration_Committee) && dto.ManagerDecision.Id == ((int)ConstantNodes.ConsultationDecisions.Approved).ToString()) { if (dto.DomainModel.Status != "Terminated") { dto.DomainModel.StatusId = ((int)ConstantNodes.ConsultationStatus.Completed); dto.DomainModel.Status = "Completed"; } var entity = FindOneById(dto.DomainModel.Id); if (dto.DomainModel.Id == entity.Id) { Mapper.Map(dto.DomainModel, entity); } await UpdateRequest(); var ConsulationCompletionViewModel = new EditConsultationDataViewModel(); Mapper.Map(dto.DomainModel, ConsulationCompletionViewModel); var jsonPatch = new JsonPatchDocument <EditConsultationDataViewModel>(); jsonPatch.Replace(m => m.ActualCost, ConsulationCompletionViewModel.ActualCost); jsonPatch.Replace(m => m.ActualDeliverables, ConsulationCompletionViewModel.ActualDeliverables); jsonPatch.Replace(m => m.ActualDuration, ConsulationCompletionViewModel.ActualDuration); jsonPatch.Replace(m => m.DurationNotes, ConsulationCompletionViewModel.DurationNotes); jsonPatch.Replace(m => m.Status, ConsulationCompletionViewModel.Status); string jobId = dto.ConsultationJobId; var responce = await _uacService.PatchConsultationData(jsonPatch, jobId); } await KtaService.CompleteActivityAsync(dto.SessionId, dto.Requester.Username, dto.ManagerDecision.Id, dto.ManagerDecision.Comment, dto.activity.Identity); return(dto); }
public async Task <ConsultationDTO> ProcessRequest(ConsultationDTO dto) { logger.LogDebug("activity", (dto.activity)); if (dto.activity == null) { dto.activity = await KtaService.TakeActivityAsync(dto.SessionId, dto.DomainModel.JobId, dto.NodeID, dto.EPC); } if (dto.activity.Identity.NodeId == dto.NodeID && dto.activity.Identity.NodeId == ConstantNodes.Research_Collaboration_Committee) { if (dto.ManagerDecision.Id == ((int)ConstantNodes.ConsultationDecisions.Approved).ToString()) { dto.DomainModel.Status = "Approved";; } else if (dto.ManagerDecision.Id == ((int)ConstantNodes.ConsultationDecisions.Rejected).ToString()) { dto.DomainModel.Status = "Rejected"; } } else if (dto.activity.Identity.NodeId == dto.NodeID && (dto.activity.Identity.NodeId == ConstantNodes.UCP_Admin__NodeId || dto.activity.Identity.NodeId == ConstantNodes.DM_NodeID) && dto.ManagerDecision.Id == ((int)ConstantNodes.EnumITStatus.Rejected).ToString()) { dto.DomainModel.Status = "Rejected"; } var entity = FindOneById(dto.DomainModel.Id); if (dto.DomainModel.Id == entity.Id) { Mapper.Map(dto.DomainModel, entity); } await UpdateRequest(); if (dto.DomainModel.Status == "Rejected") { await DeleteAvailability(dto); } var ConsulationCompletionViewModel = new EditConsultationDataViewModel(); if (dto.DomainModel.Status != null) { Mapper.Map(dto.DomainModel, ConsulationCompletionViewModel); var jsonPatch = new JsonPatchDocument <EditConsultationDataViewModel>(); jsonPatch.Replace(m => m.Status, ConsulationCompletionViewModel.Status); jsonPatch.Replace(m => m.IsConfidential, ConsulationCompletionViewModel.IsConfidential); logger.LogDebug("jsonPatch", (jsonPatch)); var responce = await _uacService.PatchConsultationData(jsonPatch, dto.DomainModel.JobId); logger.LogDebug("responce", (responce)); } if (dto.Attachement != null) { FileService.UploadRequestFiles(typeof(ConsultationDTO), dto, AppConfiguaraton.ConsultaionAttachementPath, dto.DomainModel.JobId, AppConfiguaraton.ConsultaionAttachementListName, string.Empty, dto.Requester.Username, multiTypes: false, uploadToSharepoint: true, multi: true); } await KtaService.CompleteActivityAsync(dto.SessionId, dto.Requester.Username, dto.ManagerDecision.Id, dto.ManagerDecision.Comment, dto.activity.Identity); return(dto); }