示例#1
0
        // Json Convert Pending approvals task as list
        public List <ApprovalRequestDTO> ApprovalTasks(UserBackendrequestJsonData userBackendjsonResponse)
        {
            //creates list request details object
            List <ApprovalRequestDTO> requestsDetails = new List <ApprovalRequestDTO>();

            //Checks whether the JSON response is not null
            if (userBackendjsonResponse != null)
            {
                //Iterate json format result and bind to Model
                foreach (userBackendRequest userbackendRequestdetails in userBackendjsonResponse.userBackendRequestResults[0].userBackendRequestinfo)
                {
                    //Create ApprovalRequestDTO Model object
                    ApprovalRequestDTO requestObj = new ApprovalRequestDTO();
                    requestObj.approval = new ApprovalDTO();
                    if (userbackendRequestdetails.approvalDetails != null)
                    {
                        //Get the approval task Request ID
                        requestObj.approval.RequestId = userbackendRequestdetails.approvalDetails.RequestId;
                        //Get the approval task Request Status
                        requestObj.approval.Status             = userbackendRequestdetails.approvalDetails.Status;
                        requestObj.approval.TaskTitle          = userbackendRequestdetails.approvalDetails.TaskTitle;
                        requestObj.approval.ServiceLayerTaskID = userbackendRequestdetails.approvalDetails.ServiceLayerTaskID;
                        requestObj.approval.DueDate            = userbackendRequestdetails.approvalDetails.DueDate;
                        requestObj.approval.DecisionDate       = userbackendRequestdetails.approvalDetails.DecisionDate;
                        requestsDetails.Add(requestObj);
                    }
                }
            }
            //Return request details list
            return(requestsDetails);
        }
示例#2
0
        public async Task <ActionResult> GetBackendApprovalrequestcount(SynchRequestDTO syncRequest)
        {
            try
            {
                //SynchRequestDTO syncRequest = new SynchRequestDTO();
                //Assign user id to SynchRequestDTO model
                syncRequest.userId = userid;
                //Api Controller object initialization
                APIController apiControllerObj = new APIController();
                //Get Pending approval count from Synch API
                string stApprovalPendingCount = await apiControllerObj.GetApprovalcompletedcount(syncRequest, userid);

                //Get approved count details from API
                syncRequest.parameters.filters.apprStatus = "Approved";
                string stApprovalApprovedCount = await apiControllerObj.GetApprovalcompletedcount(syncRequest, userid);

                // Get Rejected count details from API
                syncRequest.parameters.filters.apprStatus = "Rejected";
                string stApprovalRejectedCount = await apiControllerObj.GetApprovalcompletedcount(syncRequest, userid);

                //Deseralize the result returned by the API
                UserBackendrequestJsonData userTaskPendingResponse  = JsonConvert.DeserializeObject <UserBackendrequestJsonData>(stApprovalPendingCount);
                UserBackendrequestJsonData userTaskApprovedResponse = JsonConvert.DeserializeObject <UserBackendrequestJsonData>(stApprovalApprovedCount);
                UserBackendrequestJsonData userTaskRejectedResponse = JsonConvert.DeserializeObject <UserBackendrequestJsonData>(stApprovalRejectedCount);
                //creates list Backend model object
                List <string> userBackends = new List <string>();
                userBackends = syncRequest.parameters.filters.backends;
                List <string> userBackendName = syncRequest.parameters.filters.backendName;
                //creates lists for Pending/Approval/Reject Count for json object result
                UserBackendRequestJsonResult[] userBackendwithTaskPendingCount  = userTaskPendingResponse.userBackendRequestResults;
                UserBackendRequestJsonResult[] userBackendwithTaskApprovedCount = userTaskApprovedResponse.userBackendRequestResults;
                UserBackendRequestJsonResult[] userBackendwithTaskRejectedCount = userTaskRejectedResponse.userBackendRequestResults;
                List <ApprovalCountDTO>        approvalCountobj = new List <ApprovalCountDTO>();
                //Checks whether the JSON response is not null
                if (userTaskPendingResponse != null && userBackends != null)
                {
                    int i = 0;
                    //Iterate json format result and bind to Model
                    foreach (string backendID in userBackends)
                    {
                        //Create ApprovalCountDTO Model object
                        ApprovalCountDTO approvalCount = new ApprovalCountDTO();
                        //Get approval backend Id
                        approvalCount.BackendID = backendID;
                        //Get approval backend Name
                        approvalCount.BackendName = userBackendName[i];
                        //Get Pending approval count
                        if (userBackendwithTaskPendingCount != null)
                        {
                            UserBackendRequestJsonResult taskcountlist = userBackendwithTaskPendingCount.ToList().Find(x => x.userBackend.BackendID == backendID);
                            if (taskcountlist != null)
                            {
                                approvalCount.WaitingCount = taskcountlist.userTaskcountJsonResult.Count;
                            }
                        }
                        //Get Approved approval count
                        if (userBackendwithTaskApprovedCount != null)
                        {
                            UserBackendRequestJsonResult taskcountlist = userBackendwithTaskApprovedCount.ToList().Find(x => x.userBackend.BackendID == backendID);
                            if (taskcountlist != null)
                            {
                                approvalCount.ApprovedCount = taskcountlist.userTaskcountJsonResult.Count;
                            }
                        }
                        //Get Rejected approval count
                        if (userBackendwithTaskRejectedCount != null)
                        {
                            UserBackendRequestJsonResult taskcountlist = userBackendwithTaskRejectedCount.ToList().Find(x => x.userBackend.BackendID == backendID);
                            if (taskcountlist != null)
                            {
                                approvalCount.RejectedCount = taskcountlist.userTaskcountJsonResult.Count;
                            }
                        }
                        //Add ApprovalCountDTO Model object
                        approvalCountobj.Add(approvalCount);
                        i++;
                    }
                }
                // Return Json formate object and pass to UI
                return(Json(approvalCountobj, JsonRequestBehavior.AllowGet));
            }
            catch (Exception exception)
            {
                LoggerHelper.WriteToLog(exception + " - Error while creating client context : "
                                        + exception.ToString(), CoreConstants.Priority.High, CoreConstants.Category.Error);
                return(View("Error"));
            }
        }
示例#3
0
        public async Task <ActionResult> GetApprovalDetails(SynchRequestDTO syncRequest)
        {
            string userbackend = string.Empty;

            try
            {
                //Assign UI synch request backends to list
                List <string> backendId = syncRequest.parameters.filters.backends;
                //Iterate backends and assign the each backend to userbackend string
                foreach (string backend in backendId)
                {
                    userbackend = backend;
                }
                //SynchRequestDTO syncRequest = new SynchRequestDTO();
                syncRequest.userId = userid;
                //Api Controller object initialization
                APIController apiControllerObj = new APIController();
                //creates list request details object for waiting
                List <ApprovalRequestDTO> requestsDetails = new List <ApprovalRequestDTO>();
                // Get the waiting approval status details
                if (syncRequest.parameters.filters.apprStatus == "Waiting")
                {
                    //Get request details from Synch API
                    string stApprovalPendingDetails = await apiControllerObj.GetUserBackendTasks(syncRequest, userid, userbackend);

                    //Deseralize the result returned by the API
                    UserBackendrequestJsonData userBackendjsonResponse = JsonConvert.DeserializeObject <UserBackendrequestJsonData>(stApprovalPendingDetails);
                    //Bind the Json result data to list
                    requestsDetails = ApprovalTasks(userBackendjsonResponse);
                }
                else
                {
                    //creates list request details object for approval and reject
                    List <ApprovalRequestDTO> requestsRejectedDetails = new List <ApprovalRequestDTO>();
                    // Get the Approved approval status details
                    syncRequest.parameters.filters.apprStatus = "Approved";
                    //Get request details from Synch API
                    string stApprovalApprovedDetails = await apiControllerObj.GetUserBackendTasks(syncRequest, userid, userbackend);

                    //Deseralize the result returned by the API
                    UserBackendrequestJsonData userBackendjsonResponse = JsonConvert.DeserializeObject <UserBackendrequestJsonData>(stApprovalApprovedDetails);
                    //Bind the Json result data to list
                    requestsDetails = ApprovalTasks(userBackendjsonResponse);
                    // Get the Rejected approval status details
                    syncRequest.parameters.filters.apprStatus = "Rejected";
                    //Get request details from Synch API
                    string stApprovalRejectedDetails = await apiControllerObj.GetUserBackendTasks(syncRequest, userid, userbackend);

                    //Deseralize the result returned by the API
                    UserBackendrequestJsonData userBackendjsonRejectResponse = JsonConvert.DeserializeObject <UserBackendrequestJsonData>(stApprovalRejectedDetails);
                    //Bind the Json result data to list
                    requestsRejectedDetails = ApprovalTasks(userBackendjsonRejectResponse);
                    //Add approval and rejected details tasks
                    requestsDetails.AddRange(requestsRejectedDetails);
                }
                //sorting data for completed tasks based on decision date
                if (syncRequest.parameters.filters.apprStatus != "Waiting")
                {
                    List <ApprovalRequestDTO> sortedrequestsDetails = requestsDetails.OrderBy(o => o.approval.DecisionDate).ToList();
                    requestsDetails = sortedrequestsDetails;
                }
                // Return Json formate object and pass to UI
                return(Json(requestsDetails, JsonRequestBehavior.AllowGet));
            }
            catch (Exception exception)
            {
                LoggerHelper.WriteToLog(exception + " - Error while creating client context : "
                                        + exception.ToString(), CoreConstants.Priority.High, CoreConstants.Category.Error);
                return(View("Error"));
            }
        }