public async Task <SoftwareDTO> ProcessRequest(SoftwareDTO dto) { logger.LogDebug($"ProcessRequest method fired {dto.JobID} and {dto.NodeID}"); logger.LogDebug($"TakeActivity method fired {dto.SessionId} and {dto.DomainModel.JobId} and { dto.NodeID} and {dto.EPC}"); 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.DirectManager_NodeId || dto.activity.Identity.NodeId == ConstantNodes.ITSolutions_NodeId || dto.activity.Identity.NodeId == ConstantNodes.NodeId_EmployeeUpdate || dto.activity.Identity.NodeId == ConstantNodes.HelpDesk_NodeId || dto.activity.Identity.NodeId == ConstantNodes.DepartmentManager_NodeId || dto.activity.Identity.NodeId == ConstantNodes.NodeId_EmployeeUpdate)) { dto.DomainModel.ITSoftwareRequestItems = await Task.Run(() => SetSoftwareRequestItems(dto)); var entity = FindOneById(dto.DomainModel.Id); if (dto.DomainModel.Id == entity.Id) { Mapper.Map(dto.DomainModel, entity); } await UpdateRequest(); } logger.LogDebug($"CompleteActivity method fired SessionId {dto.SessionId} and Username {dto.Requester.Username} and Id { dto.ManagerDecision.Id} and Comment {dto.ManagerDecision.Comment} and Identity {dto.activity.Identity}"); await KtaService.CompleteActivityAsync(dto.SessionId, dto.Requester.Username, dto.ManagerDecision.Id, dto.ManagerDecision.Comment, dto.activity.Identity); return(dto); }
private async Task <SoftwareDTO> PrepareDTO(RequestDataModel data) { SoftwareDTO dto = new SoftwareDTO(); dto.DomainModel = await GetQuerable().Where(x => x.JobId == data.JobId).Include(x => x.ITSoftwareContractor).FirstOrDefaultAsync(); //Get Software items var SoftwareItems = _itSoftwareRequestItemsService.GetQuerable().Where(x => x.RequestID == dto.DomainModel.Id).Include(x => x.ITStatuses).Include(x => x.ITSoftwareApps).Include(x => x.ITSoftwareApps.ITSoftwareCategory); var itSoftwareRequestItems = new List <SoftwareRequestItemsModel>(); foreach (var item in SoftwareItems) { var tobeAdded = Mapper.Map <SoftwareRequestItemsModel>(item); tobeAdded.RequestDate = dto.DomainModel.RDate; itSoftwareRequestItems.Add(tobeAdded); } dto.ITSoftwareRequestItems = itSoftwareRequestItems; dto.EmployeeRequestsHistory = RetriveHistory(dto.DomainModel.EmployeeEmail); return(dto); }
private List <SoftwareRequestItems> SetSoftwareRequestItems(SoftwareDTO dto) { var itSoftwareRequestItems = new List <SoftwareRequestItems>(); foreach (var item in dto.ITSoftwareRequestItems) { if (item.Status == null) { if (dto.ManagerDecision != null && dto.ManagerDecision.Id == ((int)EnumITStatus.Approved).ToString()) { item.Status = EnumITStatus.Approved.ToString(); } else if (dto.ManagerDecision != null && dto.ManagerDecision.Id == ((int)EnumITStatus.Rejected).ToString()) { item.Status = EnumITStatus.Rejected.ToString(); } else if (dto.ManagerDecision != null && dto.ManagerDecision.Id == ((int)EnumITStatus.ReturnToEmp).ToString()) { item.Status = EnumITStatus.ReturnToEmp.ToString(); } else if (dto.ManagerDecision != null && dto.ManagerDecision.Id == ((int)EnumITStatus.ForwardToITGov).ToString()) { item.Status = EnumITStatus.ForwardToITGov.ToString(); } else if (dto.ManagerDecision != null && dto.ManagerDecision.Id == ((int)EnumITStatus.Executed).ToString()) { if (dto.activity.Identity.NodeId == ConstantNodes.HelpDesk_NodeId || dto.activity.Identity.NodeId == ConstantNodes.NodeId_EmployeeUpdate) { item.Status = EnumITStatus.Executed.ToString(); } } else if (dto.ManagerDecision != null && dto.ManagerDecision.Id == ((int)EnumITStatus.NotExecuted).ToString()) { if (dto.activity.Identity.NodeId == ConstantNodes.HelpDesk_NodeId) { item.Status = EnumITStatus.NotExecuted.ToString(); } } } else if (item.Status != "Rejected" && item.Status != "ForwardToITGov") { item.Status = ((EnumITStatus)int.Parse(item.Status)).ToString(); } item.UpdatedBy = dto.Requester.Username; item.RequestID = dto.DomainModel.Id; var tobeAdded = Mapper.Map <SoftwareRequestItems>(item); itSoftwareRequestItems.Add(tobeAdded); } return(itSoftwareRequestItems); }
public async Task <SoftwareDTO> SaveRequestData(SoftwareDTO dto) { Mapper.Map(dto.ITSoftwareRequestItems, dto.DomainModel.ITSoftwareRequestItems); dto.DomainModel.RDate = DateTime.Now; await AddNewRequest(dto.DomainModel); logger.LogDebug($"SessionId {dto.SessionId} , process ID {AppConfiguaraton.ITSoftwareProcessID} , DomainModel.Id {dto.DomainModel.Id} "); dto.DomainModel.JobId = await KtaService.CreateJobAsync(dto.SessionId, AppConfiguaraton.ITSoftwareProcessID, dto.DomainModel.Id); logger.LogDebug($"Create Job ID fired {dto.DomainModel.JobId}"); await UpdateKtaJobID(dto.DomainModel.Id, dto.DomainModel.JobId); logger.LogDebug($"Create Job ID fired {dto.DomainModel.JobId}"); return(dto); }