public static WorkFlowApprovalLevelRespObj LoadWorkFlowApprovalLevels(WorkFlowApprovalLevelSearchObj regObj, string username) { var response = new WorkFlowApprovalLevelRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage(), }, }; try { var apiResponse = new APIHelper(APIEndpoints.LOAD_WORK_FLOW_APPROVAL_LEVEL_ENDPOINT, username, Method.POST).ProcessAPI <WorkFlowApprovalLevelSearchObj, WorkFlowApprovalLevelRespObj>(regObj, out var msg); if (msg.Code == 0 && string.IsNullOrEmpty(msg.TechMessage) && string.IsNullOrEmpty(msg.Message)) { return(apiResponse); } response.Status.Message.FriendlyMessage = msg.Message; response.Status.Message.TechnicalMessage = msg.TechMessage; return(response); } catch (Exception ex) { UtilTools.LogE(ex.StackTrace, ex.Source, ex.GetBaseException().Message); response.Status.Message.FriendlyMessage = "Error Occurred! Please try again later"; response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message; return(response); } }
public PartialViewResult RecommendationList(int ExpenseRequisitionId) { try { ViewBag.Error = ""; ViewBag.SessionError = ""; #region current user session check var userData = MvcApplication.GetUserData(User.Identity.Name) ?? new UserData(); if (userData.UserId < 1) { ViewBag.SessionError = "Your session has expired! Please re-login"; return(PartialView(new List <WorkflowDetailObj>())); } #endregion #region Id check if (ExpenseRequisitionId < 1) { ViewBag.Error = "Invalid selection"; return(PartialView(new List <WorkflowDetailObj>())); } #endregion #region get approval work flow level name from session or service if session is empty if (Session["_ApprovalLevels_"] is List <WorkFlowApprovalLevelObj> WorkFlowApprovalLevelList && WorkFlowApprovalLevelList.Any()) { Session["_ApprovalLevels_"] = WorkFlowApprovalLevelList.ToList(); } else { var reqObjAppLvel = new WorkFlowApprovalLevelSearchObj { AdminUserId = userData.UserId, StartDate = " ", Status = -2, StopDate = "", WorkFlowApprovalLevelId = 0, }; var retValForAppLv = ExpenseLookUpServices.LoadWorkFlowApprovalLevels(reqObjAppLvel, userData.Username); var appLevels = retValForAppLv.WorkflowApprovalLevels.ToList(); Session["_ApprovalLevels_"] = appLevels; } #endregion #region return Approval levels comment if session is not null if (Session["_WorkflowComments_"] is List <WorkflowDetailObj> WorkflowDetailList && WorkflowDetailList.Any()) { return(PartialView(WorkflowDetailList.Where(m => m.ExpenseRequisitionId == ExpenseRequisitionId && m.Status != (int)WorkflowStatus.Processing).ToList())); } #endregion #region requests for approval level comments and response check var reqObj = new WorkflowDetailSearchObj { AdminUserId = userData.UserId, StartDate = " ", Status = -2, StopDate = "", WorkflowDetailId = 0, }; var retVal = WorkflowDetailServices.LoadWorkflowDetails(reqObj, userData.Username); var thisWorkflowComments = retVal.WorkflowDetails.Where(m => m.ExpenseRequisitionId == ExpenseRequisitionId && m.Status != (int)WorkflowStatus.Processing).ToList(); if (thisWorkflowComments == null || !thisWorkflowComments.Any()) { ViewBag.Error = "Error Occurred! Unable to process selected item"; return(PartialView(new List <WorkflowDetailObj>())); } Session["_WorkflowComments_"] = thisWorkflowComments; #endregion return(PartialView(thisWorkflowComments)); } catch (Exception ex) { ViewBag.Error = "Error Occurred! Please try again later"; UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(PartialView(new List <WorkflowDetailObj>())); } }