public static ExpenseItemRespObj LoadExpenseItems(ExpenseItemSearchObj regObj, string username) { var response = new ExpenseItemRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage(), }, }; try { var apiResponse = new APIHelper(APIEndpoints.LOAD_EXPENSE_ITEM_ENDPOINT, username, Method.POST).ProcessAPI <ExpenseItemSearchObj, ExpenseItemRespObj>(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 ActionResult Index(int?clientId, int?productId) { try { ViewBag.Error = ""; #region Client Product productItem Session Check var userClientSession = (AppSession)Session["_UserClientSession_"]; if (userClientSession == null || userClientSession.ClientId < 1 || userClientSession.ProductId < 1 || userClientSession.ProductItemId < 1) { return(RedirectToAction("Index", "Dashboard")); } var ClientId = clientId ?? userClientSession.ClientId; var ProductId = productId ?? userClientSession.ProductId; var ProductItemId = userClientSession.ProductItemId; #endregion #region Current User Session Check var userData = MvcApplication.GetUserData(User.Identity.Name); if (userData == null || userData.UserId < 1) { ViewBag.Error = "Session Has Expired! Please Re-Login"; return(View(new List <ExpenseItemSettingObj>())); } #endregion #region Other Objects Names var categorySearchObj = new ExpenseCategorySearchObj { AdminUserId = userData.UserId, ExpenseCategoryId = 0, Status = 1 }; var classificationSearchObj = new ExpenseClassificationSearchObj() { AdminUserId = userData.UserId, ExpenseClassificationId = 0, Status = 1 }; var typeSearchObj = new ExpenseTypeSearchObj() { AdminUserId = userData.UserId, ExpenseTypeId = 0, Status = 1 }; var itemSearchObj = new ExpenseItemSearchObj() { AdminUserId = userData.UserId, ExpenseItemId = 0, Status = 1 }; #endregion #region Client Expense Item And Dependent Objects Session Check if (Session["_ExpenseItemSettingList_"] is List <ExpenseItemSettingObj> ExpenseItemSetting && ExpenseItemSetting.Any()) { if (Session["_Category_"] is List <ExpenseCategoryObj> expenseCategorys && !expenseCategorys.Any()) { Session["_Category_"] = new List <ExpenseCategoryObj>(); } if (Session["_Classification_"] is List <ExpenseClassificationObj> expenseClassifications && !expenseClassifications.Any()) { Session["_Classification_"] = new List <ExpenseCategoryObj>(); } if (Session["_Types_"] is List <ExpenseTypeObj> expenseType && !expenseType.Any()) { Session["_Types_"] = new List <ExpenseCategoryObj>(); } if (Session["_Items_"] is List <ExpenseItemObj> expenseItem && !expenseItem.Any()) { Session["_Items_"] = new List <ExpenseItemObj>(); } var clientExpenseItemList = ExpenseItemSetting.Where(m => m.ClientId == ClientId && m.ProductId == ProductId).ToList(); return(View(clientExpenseItemList)); } #endregion #region Request and response Validations var searchObj = new ExpenseItemSettingSearchObj { AdminUserId = userData.UserId, ExpenseItemSettingId = 0, Status = 1 }; var retVal = ExpenseItemSettingServices.LoadExpenseItemSettings(searchObj, userData.Username); if (retVal?.Status == null) { ViewBag.Error = " ExpenseItemSetting list is empty!"; return(View(new List <ExpenseItemSettingObj>())); } if (!retVal.Status.IsSuccessful) { ViewBag.Error = string.IsNullOrEmpty(retVal.Status.Message.FriendlyMessage) ? " ExpenseItemSetting list is empty!" : retVal.Status.Message.FriendlyMessage; return(View(new List <ExpenseItemSettingObj>())); } if (retVal.ExpenseItemSettings == null || !retVal.ExpenseItemSettings.Any()) { ViewBag.Error = " ExpenseItemSetting list is empty!"; return(View(new List <ExpenseItemSettingObj>())); } #endregion #region Initialize object Lists to sessions var categoryRetVal = ExpenseLookUpServices.LoadExpenseCategories(categorySearchObj, userData.Username); var catList = categoryRetVal.ExpenseCategories.OrderBy(m => m.ExpenseCategoryId).ToList(); Session["_Category_"] = catList; var classificationRetVal = ExpenseLookUpServices.LoadClassifications(classificationSearchObj, userData.Username); var classificationList = classificationRetVal.ExpenseClassifications.OrderBy(m => m.ExpenseClassificationId).ToList(); Session["_Classification_"] = classificationList; var typeRetVal = ExpenseLookUpServices.LoadExpenseTypes(typeSearchObj, userData.Username); var typeList = typeRetVal.ExpenseTypes.OrderBy(m => m.ExpenseTypeId).ToList(); Session["_Types_"] = typeList; var itemRetVal = ExpenseLookUpServices.LoadExpenseItems(itemSearchObj, userData.Username); var itemList = itemRetVal.ExpenseItems.OrderBy(m => m.ExpenseItemId).ToList(); Session["_Items_"] = itemList; var ExpenseItemSettings = retVal.ExpenseItemSettings.OrderBy(m => m.ExpenseItemSettingId).ToList(); Session["_ExpenseItemSettingList_"] = ExpenseItemSettings.Where(m => m.ClientId == ClientId && m.ProductId == ProductId).ToList(); #endregion var clientProdExpItemList = ExpenseItemSettings.Where(m => m.ClientId == ClientId && m.ProductId == ProductId).ToList(); return(View(clientProdExpItemList)); } catch (Exception ex) { ViewBag.Error = ex.Message; UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(View(new List <ExpenseItemSettingObj>())); } }
public ActionResult RetirementModule(int?clientId, int?productId, int?productItemId) { try { #region Client Product productItem Session Check var userClientSession = (AppSession)Session["_UserClientSession_"]; if (userClientSession == null || userClientSession.ClientId < 1 || userClientSession.ProductId < 1 || userClientSession.ProductItemId < 1) { return(RedirectToAction("Index", "Dashboard")); } var ClientId = clientId ?? userClientSession.ClientId; var ProductId = productId ?? userClientSession.ProductId; var ProductItemId = productItemId ?? userClientSession.ProductItemId; #endregion #region Current user session check var userData = MvcApplication.GetUserData(User.Identity.Name); if (userData == null || userData.UserId < 1) { ViewBag.Error = "Session Has Expired! Please Re-Login"; return(View(new List <DisbursementObj>())); } #endregion #region Check if list is null else return to view if (Session["_currentExpenseDisbursement_"] is List <DisbursementObj> DisbursementList && DisbursementList.Any()) { return(View(DisbursementList.Where(m => m.ClientId == ClientId && m.ProductId == ProductId).ToList())); } #endregion #region Request and Response Validations var searchObj = new DisbursementSearchObj { AdminUserId = userData.UserId, DisbursementId = 0, StartDate = "", Status = (int)DisbursementStatus.Awaiting_Retirement, StopDate = "", VoucheNumber = "" }; var retVal = DisbursementServices.LoadDisbursements(searchObj, userData.Username); if (retVal?.Status == null) { return(View(new List <DisbursementObj>())); } if (retVal.Disbursements == null || !retVal.Disbursements.Any()) { ViewBag.Error = " DisbursementObj list is empty!"; return(View(new List <DisbursementObj>())); } #endregion #region Get Amount Approved for each Retired Expense into Session var searchObjExp = new ExpenseSearchObj { AdminUserId = userData.UserId, ExpenseId = 0, Status = -1000, StartDate = " ", StopDate = " ", }; var retValExp = ExpenseRequisitionServices.LoadExpenses(searchObjExp, userData.Username); if (retVal?.Status == null) { ViewBag.Error = " Expense list is empty!"; return(View(new List <DisbursementObj>())); } if (retValExp.Expenses == null || !retValExp.Expenses.Any()) { return(View(new List <DisbursementObj>())); } var expenseList = retValExp.Expenses.ToList(); Session["_ExpenseList_"] = expenseList; #endregion #region GET Item Names var itemSearchObj = new ExpenseItemSearchObj() { AdminUserId = userData.UserId, ExpenseItemId = 0, Status = 1 }; var itemRetVal = ExpenseLookUpServices.LoadExpenseItems(itemSearchObj, userData.Username); if (itemRetVal?.Status == null) { ViewBag.Error = "Error Occurred please try again later!"; return(View(new List <DisbursementObj>())); } var globalItemList = itemRetVal.ExpenseItems.OrderBy(m => m.ExpenseItemId).ToList(); Session["_globalItems_"] = globalItemList; #endregion var clientProdExpenseDisbursement = retVal.Disbursements .OrderBy(m => m.DisbursementId) .Where(m => m.ClientId == ClientId && m.ProductId == ProductId) .ToList(); Session["_currentExpenseDisbursement_"] = clientProdExpenseDisbursement; return(View(clientProdExpenseDisbursement)); } catch (Exception ex) { ViewBag.Error = ex.Message; UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(View(new List <DisbursementObj>())); } }
public ActionResult RetirementItems(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(View(new List <ExpenseRequisitionObj>())); } #endregion #region Client Product productItem Session Check var userClientSession = (AppSession)Session["_UserClientSession_"]; if (userClientSession == null || userClientSession.ClientId < 1 || userClientSession.ProductId < 1 || userClientSession.ProductItemId < 1) { return(RedirectToAction("Index", "Dashboard")); } var ClientId = userClientSession.ClientId; var ProductId = userClientSession.ProductId; var ProductItemId = userClientSession.ProductItemId; #endregion #region Request to requisition endpoint to get it's Items if (expenseRequisitionId < 1) { expenseRequisitionId = 0; return(View(new List <ExpenseRequisitionObj>())); } var searchObj = new ExpenseRequisitionSearchObj { AdminUserId = userData.UserId, ExpenseRequisitionId = 0, Status = -1000 }; var retVal = ExpenseLookupServices.LoadExpenseRequisitions(searchObj, userData.Username); var ExpenseRequisitionList = retVal.ExpenseRequisitions.OrderBy(m => m.ExpenseRequisitionId).ToList(); var expenseRequisitionItems = ExpenseRequisitionList.SingleOrDefault(m => m.ExpenseRequisitionId == expenseRequisitionId); if (expenseRequisitionItems == null || expenseRequisitionItems.ExpenseRequisitionId < 1) { ViewBag.Error = "Error Occurred! Unable to process selected item"; return(View(new List <ExpenseRequisitionObj>())); } #endregion #region GET ITEM NAMES if (Session["_globalItems_"] is List <ExpenseItemObj> GlobItemlist && GlobItemlist.Any()) { Session["_globalItems_"] = GlobItemlist; } else { var itemSearchObj = new ExpenseItemSearchObj { AdminUserId = userData.UserId, ExpenseItemId = 0, Status = -1000, StartDate = "", StopDate = "", }; var itemRetVal = ExpenseLookUpServices.LoadExpenseItems(itemSearchObj, userData.Username); if (itemRetVal?.Status == null) { ViewBag.Error = "Error Occurred please try again later!"; return(View(new List <ExpenseRequisitionObj>())); } var globalItemList = itemRetVal.ExpenseItems.ToList(); Session["_globalItems_"] = globalItemList; } #endregion #region Generate voucher nuber var voucherSouchObj = new VoucherNumberSearchObj { AdminUserId = userData.UserId, ClientId = ClientId, ProductId = ProductId }; ViewBag.VoucherNumber = VNServices.GenerateVoucherNumbers(voucherSouchObj).VoucherNumber; #endregion return(View(expenseRequisitionItems)); } catch (Exception ex) { ViewBag.Error = "Error Occurred! Please try again later"; UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(View(new RegExpenseRequisitionItemObj())); } }