public static DisbursementRegRespObj AddDisbursement(RegDisbursementObj regObj, string username) { var response = new DisbursementRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage(), }, }; try { var apiResponse = new APIHelper(APIEndpoints.ADD_DISBURSEMENT_ENDPOINT, username, Method.POST).ProcessAPI <RegDisbursementObj, DisbursementRegRespObj>(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 JsonResult ProcessAddDisbursementRequest(RegDisbursementObj model) { try { var userData = MvcApplication.GetUserData(User.Identity.Name) ?? new UserData(); if (userData.UserId < 1) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = false })); } #region model validations if (model == null) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = false })); } if (model.ClientId < 1) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "client required " })); } if (model.VoucherNumber.Length < 6 || model.VoucherNumber.Length > 30) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Voucher Number require a minimium length of 6 characters and a maximium length 30 Characters " })); } if (model.VoucherNumber.Length < 1 || string.IsNullOrEmpty(model.VoucherNumber)) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Voucher Number required " })); } if (model.ProductId < 1) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Product required " })); } if (model.AmountDisbursed < 1) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "AmountDisbursed required " })); } if (model.DisbursementMode < 1) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Disbursement Mode required " })); } if (model.ExpenseId < 1) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Expense required " })); } if (model.ExpenseRequisitionId < 1) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "ExpenseRequisitionId required " })); } if (string.IsNullOrEmpty(model.Title) || model.Title.Length < 0) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = " Title required" })); } #endregion var previousDisbursementList = (List <DisbursementObj>)Session["_DisbursementList_"]; var requestObj = new RegDisbursementObj { ClientId = model.ClientId, ProductId = model.ProductId, AdminUserId = userData.UserId, Status = 1, ProductItemId = model.ProductItemId,//model.ProductItemId, BeneficiaryId = model.BeneficiaryId, BeneficiaryType = model.BeneficiaryType, RequestType = model.RequestType, AmountDisbursed = model.AmountDisbursed, DisburesedBy = userData.UserId, ExpenseRequisitionId = model.ExpenseRequisitionId, DisbursementMode = model.DisbursementMode, TimeStampDisburesed = DateTime.Now.ToString("D"), Title = model.Title, WorkflowItemId = model.WorkflowItemId, ExpenseId = model.ExpenseId, VoucherNumber = model.VoucherNumber }; var response = DisbursementServices.AddDisbursement(requestObj, userData.Username); if (response?.Status == null) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Error Occurred! Please try again later" })); } if (!response.Status.IsSuccessful) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = string.IsNullOrEmpty(response.Status.Message.TechnicalMessage) ? "Process Failed! Unable to add nomination Source" : response.Status.Message.TechnicalMessage })); } #region List Initialzation into session var searchObj = new ExpenseSearchObj { AdminUserId = userData.UserId, ExpenseId = 0, Status = -1000, StartDate = " ", StopDate = " ", }; var retVal = ExpenseRequisitionServices.LoadExpenses(searchObj, userData.Username); if (retVal?.Status == null) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Error Occurred! Please try again later" })); } if (retVal.Expenses == null || !retVal.Expenses.Any()) { ViewBag.Error = " DisbursementObj list is empty!"; return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Error Occurred! Please try again later" })); } var Expenses = retVal.Expenses.OrderByDescending(m => m.ExpenseId).Where(m => m.ClientId == model.ClientId && m.ProductId == model.ProductId && m.Status == 1 || m.Status == 2).ToList(); Session["_ExpenseList_"] = Expenses; #endregion return(Json(new { IsAuthenticated = true, IsSuccessful = true, IsReload = true, Error = "" })); } catch (Exception ex) { UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Process Error Occurred! Please try again later" })); } }