Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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>()));
            }
        }
Ejemplo n.º 3
0
        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>()));
            }
        }
Ejemplo n.º 4
0
        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()));
            }
        }