public static ProductRespObj LoadProducts(ProductSearchObj regObj, string username) { var response = new ProductRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage(), }, }; try { var apiResponse = new APIHelper(APIEndpoints.LOAD_PRODUCTS_ENDPOINT, username, Method.POST).ProcessAPI <ProductSearchObj, ProductRespObj>(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 ProcessDeleteRequest(int clientId, int prodId) { 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 })); } if (clientId < 1 || prodId < 1) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, Error = "Invalid / Empty Selection" })); } var passObj = new DeleteProductObj { AdminUserId = userData.UserId, ProductId = prodId, }; var response = ProductService.DeleteProduct(passObj, User.Identity.Name); if (!response.Status.IsSuccessful) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, Error = response.Status.Message.FriendlyMessage })); } var searchObj = new ProductSearchObj { AdminUserId = userData.UserId, ClientId = clientId, ProductId = prodId, Status = -2, }; var retVal = ProductService.LoadProducts(searchObj, userData.Username); if (retVal?.Status != null && retVal.Status.IsSuccessful) { if (retVal.Products != null && retVal.Products.Any()) { Session[$"_myProductList_{clientId}"] = retVal.Products; } } return(Json(new { IsAuthenticated = true, IsSuccessful = 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" })); } }
public async Task <ActionResult <ProductRespObj> > GetProductById([FromQuery] ProductSearchObj search) { try { if (search.ProductId < 1) { return(new ProductRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Product Id is required" } } }); } var response = _repo.GetProduct(search.ProductId); var allowableCollaterals = await _allowableCollateralRepository.GetAllowableCollateralByProductIdAsync(search.ProductId); var collateralTypeIds = new List <int>(); foreach (var item in allowableCollaterals) { collateralTypeIds.Add(item.CollateralTypeId); } response.AllowableCollaterals = collateralTypeIds.ToArray(); var resplist = new List <ProductObj> { response }; return(new ProductRespObj { Products = resplist, }); } catch (Exception ex) { var errorCode = ErrorID.Generate(5); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new ProductRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Error Occurred", TechnicalMessage = ex?.Message, MessageId = errorCode } } }); } }
public ActionResult LoadProducts() { var add = new NameValueObject { Id = 0, Name = "-- Empty Product List --" }; try { var userData = MvcApplication.GetUserData(User.Identity.Name); if (userData == null || userData.UserId < 1) { return(Json(new List <NameValueObject> { add }, JsonRequestBehavior.AllowGet)); } var searchObj = new ProductSearchObj { AdminUserId = userData.UserId, Status = -2, ClientId = 0, ProductId = 0 }; var retVal = ProductService.LoadProducts(searchObj, userData.Username); if (retVal?.Status == null) { return(Json(new List <NameValueObject> { add }, JsonRequestBehavior.AllowGet)); } if (!retVal.Status.IsSuccessful) { return(Json(new List <NameValueObject> { add }, JsonRequestBehavior.AllowGet)); } if (!retVal.Products.Any()) { return(Json(new List <NameValueObject> { add }, JsonRequestBehavior.AllowGet)); } var parentTabs = retVal.Products.Where(c => c.Status == 1).OrderBy(c => c.ClientId); add = new NameValueObject { Id = 0, Name = "-- Select Product --" }; var jsonitem = parentTabs.Select(o => new NameValueObject { Id = o.ProductId, Name = o.Name }).ToList(); jsonitem.Insert(0, add); return(Json(jsonitem, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(Json(new List <NameValueObject> { add }, JsonRequestBehavior.AllowGet)); } }
public ActionResult _ProductListView(int clientId) { try { ViewBag.Error = ""; 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 <ProductObj>())); } if (clientId < 1) { ViewBag.Error = "Invalid Client Information"; return(View(new List <ProductObj>())); } if (Session[$"_myProductList_{clientId}"] is List <ProductObj> prodList && prodList.Any()) { return(View(prodList)); } var searchObj = new ProductSearchObj { AdminUserId = userData.UserId, ClientId = clientId, Status = -2, }; var retVal = ProductService.LoadProducts(searchObj, userData.Username); if (retVal?.Status == null) { ViewBag.Error = "Product List is empty!"; return(View(new List <ProductObj>())); } if (!retVal.Status.IsSuccessful) { ViewBag.Error = string.IsNullOrEmpty(retVal.Status.Message.FriendlyMessage) ? "Product list is empty!" : retVal.Status.Message.FriendlyMessage; return(View(new List <ProductObj>())); } if (retVal.Products == null || !retVal.Products.Any()) { ViewBag.Error = "Product list is empty!"; return(View(new List <ProductObj>())); } Session[$"_myProductList_{clientId}"] = retVal.Products; return(View(retVal.Products)); } catch (Exception ex) { ViewBag.Error = "Unable to load Product list! Please try again later"; UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(View(new List <ProductObj>())); } }
public JsonResult ProcessEditProductRequest(RegProductObj 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 })); } var selProd = Session["_curSelectedProductInfo_"] as ProductObj; if (selProd == null || selProd.ProductId < 1) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = false })); } if (model == null) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = false })); } if (string.IsNullOrEmpty(model.Name) || model.Name.Length < 2) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Invalid Product Name" })); } if (model.ClientId < 1) { return(Json(new { IsSuccessful = false, Error = "Invalid Client Information", IsAuthenticated = true, IsReload = false, })); } if (string.IsNullOrEmpty(model.Description) || model.Description.Length < 2) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Invalid Product Description" })); } var addObj = new EditProductObj { AdminUserId = userData.UserId, ClientId = model.ClientId, Description = model.Description, Name = model.Name, Status = model.StatusVal? 1 : 0, ProductId = model.ProductId, }; var response = ProductService.UpdateProduct(addObj, 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 })); } var searchObj = new ProductSearchObj { AdminUserId = userData.UserId, ClientId = model.ClientId, Status = -2, }; var retVal = ProductService.LoadProducts(searchObj, userData.Username); if (retVal?.Status != null && retVal.Status.IsSuccessful) { if (retVal.Products != null && retVal.Products.Any()) { Session[$"_myProductList_{model.ClientId}"] = retVal.Products; } } return(Json(new { IsAuthenticated = true, IsSuccessful = true, IsReload = false, 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" })); } }