コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }