private ApiResult InformRequestorOfCrOutCome(string changeRequestId) { ApiResult apiResult = new ApiResult(); try { ChangeRequest cr = ChangeRequest.QueryWithStoredProc("GetChangeRequestById", changeRequestId)[0]; ApproverForChangeRequest[] pending = ApproverForChangeRequest.QueryWithStoredProc("CheckForCRRejection", changeRequestId); //Someone has rejected the Change Rejected if (pending.Length != 0) { cr.ApprovalStatus = pending[0].Decision; cr.ApprovalReason = $"CR NOT APPROVED BY APPROVER {pending[0].ApproverId}. Reason: {pending[0].Reason}"; cr.Save(); apiResult = NotificationsHandler.SendCrRejectedEmail(cr, cr.ApprovalReason); return(apiResult); } cr.ApprovalStatus = "APPROVED"; cr.ApprovalReason = "APPROVED BY EVERY APPROVER"; cr.Save(); apiResult = NotificationsHandler.SendCrApprovedEmail(cr); return(apiResult); } catch (Exception ex) { apiResult.StatusCode = Globals.FAILURE_STATUS_CODE; apiResult.StatusDesc = "EXCEPTION: " + ex.Message; } return(apiResult); }
internal ApiResult SaveChangeRequest(ChangeRequest changeRequest) { ApiResult apiResult = new ApiResult(); try { if (!changeRequest.IsValid()) { apiResult.SetFailuresAsStatusInResponseFields(changeRequest.StatusDesc); return(apiResult); } changeRequest.Save(); apiResult.PegPayID = "" + changeRequest.Id; apiResult.SetSuccessAsStatusInResponseFields(); return(apiResult); } catch (Exception ex) { HandleError(nameof(SaveCompany), "EXCEPTION", ex.Message); apiResult.SetFailuresAsStatusInResponseFields(ex.Message); } return(apiResult); }
public void SendApproveCrEmailTest() { ChangeRequestInterface api = new CRSubSystemAPI(); ChangeRequest changeRequest = new ChangeRequest(); changeRequest.ApprovalStatus = "PENDING"; changeRequest.ApprovalReason = ""; changeRequest.ChangeCategoryId = "EMERGENCY_CHANGE"; changeRequest.ChangeRequestId = DateTime.Now.Ticks.ToString(); changeRequest.ChangeEndDateTime = DateTime.Now; changeRequest.ChangeStartDateTime = DateTime.Now; changeRequest.ImpactOfNotImplementing = "Bad Stuff"; changeRequest.ImplementerCompany = "Pegasus"; changeRequest.ImplementerEmail = "*****@*****.**"; changeRequest.ImplementerName = "kasozi"; changeRequest.ImplementerPhone = "0785975800"; changeRequest.Justification = "We need to do this"; changeRequest.RequesterCompany = "Stanbic"; changeRequest.RequesterEmail = "*****@*****.**"; changeRequest.RequesterName = "Damalie"; changeRequest.RequesterPhone = "0785975800"; changeRequest.Title = "Changing Transaction Status"; changeRequest.Problem = "Pegasus server 192.168.55.3 wishes to access UTL airtime listening on URL http://172.25.100.6/atpurchase.php in order to be able to send Airtime Top Up requests for UTL phone numbers"; changeRequest.Solution = "Creation of UTL VPN"; changeRequest.Save(); ApproverForChangeRequest systemAffected = new ApproverForChangeRequest(); systemAffected.ChangeRequestId = changeRequest.ChangeRequestId; systemAffected.ApproverId = "nsubugak"; string ApproveURL = ""; ApiResult result = api.SendApproveCrEmail(systemAffected); Assert.AreEqual(Globals.SUCCESS_STATUS_TEXT, result.StatusDesc); }