public static ProductItemRespObj LoadProductItems(ProductItemSearchObj regObj, string username) { var response = new ProductItemRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage(), }, }; try { var apiResponse = new APIHelper(APIEndpoints.LOAD_PRODUCT_ITEMS_ENDPOINT, username, Method.POST).ProcessAPI <ProductItemSearchObj, ProductItemRespObj>(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, int itemId) { 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 DeleteProductItemObj { AdminUserId = userData.UserId, ProductItemId = itemId, }; var response = ProductItemService.DeleteProductItem(passObj, User.Identity.Name); if (!response.Status.IsSuccessful) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, Error = response.Status.Message.FriendlyMessage })); } var searchObj = new ProductItemSearchObj { AdminUserId = userData.UserId, ClientId = clientId, ProductId = prodId, Status = -2, }; var retVal = ProductItemService.LoadProductItems(searchObj, userData.Username); if (retVal?.Status != null && retVal.Status.IsSuccessful) { if (retVal.ProductItems != null && retVal.ProductItems.Any()) { Session[$"_myProductItemList_{prodId}"] = retVal.ProductItems; } } 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 ActionResult _ProductItemListView(int clientId, int prodId) { 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 <ProductItemObj>())); } if (clientId < 1) { ViewBag.Error = "Invalid Client Information"; return(View(new List <ProductItemObj>())); } if (prodId < 1) { ViewBag.Error = "Invalid Product Information"; return(View(new List <ProductItemObj>())); } if (Session[$"_myProductItemList_{prodId}"] is List <ProductItemObj> prodList && prodList.Any()) { return(View(prodList.Where(m => m.ProductId == prodId && m.ClientId == clientId))); } var searchObj = new ProductItemSearchObj { AdminUserId = userData.UserId, ClientId = clientId, ProductId = prodId, Status = -2, }; var retVal = ProductItemService.LoadProductItems(searchObj, userData.Username); if (retVal?.Status == null) { ViewBag.Error = "Product Item List is empty!"; return(View(new List <ProductItemObj>())); } if (!retVal.Status.IsSuccessful) { ViewBag.Error = string.IsNullOrEmpty(retVal.Status.Message.FriendlyMessage) ? "Product list is empty!" : retVal.Status.Message.FriendlyMessage; return(View(new List <ProductItemObj>())); } if (retVal.ProductItems == null || !retVal.ProductItems.Any()) { ViewBag.Error = "Product list is empty!"; return(View(new List <ProductItemObj>())); } Session[$"_myProductItemList_{prodId}"] = retVal.ProductItems; return(View(retVal.ProductItems.Where(m => m.ProductId == prodId && m.ClientId == clientId))); } catch (Exception ex) { ViewBag.Error = "Unable to load Product Item list! Please try again later"; UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(View(new List <ProductItemObj>())); } }
public JsonResult ProcessEditProductRequest(RegProductItemObj 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["_curSelectedProductItemInfo_"] as ProductItemObj; if (selProd == null || selProd.ProductId < 1 || selProd.ProductItemId < 1) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = true })); } if (model == null) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = true })); } if (string.IsNullOrEmpty(model.Name) || model.Name.Length < 2) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Invalid Product Item Name" })); } if (string.IsNullOrEmpty(model.Title) || model.Title.Length < 2) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Invalid Product Item Title" })); } if (model.ClientId < 1) { return(Json(new { IsSuccessful = false, Error = "Invalid Client Information", IsAuthenticated = true, IsReload = false, })); } if (model.ProductId < 1) { return(Json(new { IsSuccessful = false, Error = "Invalid Product Information", IsAuthenticated = true, IsReload = false, })); } if (model.CurrentImplementation < 1 || model.CurrentImplementation > 2) { return(Json(new { IsSuccessful = false, Error = "Invalid Current Implementation", IsAuthenticated = true, IsReload = false, })); } if (string.IsNullOrEmpty(model.LiveAPIUrl) || model.LiveAPIUrl.Length < 2) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Invalid Live URL" })); } if (string.IsNullOrEmpty(model.SandBoxAPIUrl) || model.SandBoxAPIUrl.Length < 2) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Invalid Sand-Box URL" })); } if (string.IsNullOrEmpty(model.Description) || model.Description.Length < 2) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Invalid Product Item Description" })); } var addObj = new EditProductItemObj { AdminUserId = userData.UserId, ClientId = model.ClientId, CurrentImplementation = model.CurrentImplementation, Description = model.Description, DisplayDemographicStat = model.DisplayDemographicStat, DisplayLocationStat = model.DisplayLocationStat, DisplaySummaryStat = model.DisplaySummaryStat, HasOtherStat = model.HasOtherStat, LiveAPIUrl = model.LiveAPIUrl, Name = model.Name, SandBoxAPIUrl = model.SandBoxAPIUrl, Status = 1, Title = model.Title, ProductId = model.ProductId, ProductItemId = model.ProductItemId, }; var response = ProductItemService.UpdateProductItem(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 ProductItemSearchObj { AdminUserId = userData.UserId, ClientId = model.ClientId, ProductId = model.ProductId, Status = -2, }; var retVal = ProductItemService.LoadProductItems(searchObj, userData.Username); if (retVal?.Status != null && retVal.Status.IsSuccessful) { if (retVal.ProductItems != null && retVal.ProductItems.Any()) { Session[$"_myProductItemList_{model.ProductId}"] = retVal.ProductItems; } } 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" })); } }
public ActionResult Index(int?ClientId, int?ProductId, int?ProductItemId) { try { #region Curent user session check var userData = MvcApplication.GetUserData(User.Identity.Name); if (userData == null || userData.UserId < 1) { return(RedirectToActionPermanent("Login", "Portal")); } #endregion #region check if productitemid is 0, initialize productItemId from ProductItemService based on client and product if (ProductItemId == 0) { var searchObjForItem = new ProductItemSearchObj { AdminUserId = userData.UserId, ClientId = ClientId ?? 0, ProductId = ProductId ?? 0, Status = -2, }; var retValForItem = ProductItemService.LoadProductItems(searchObjForItem, userData.Username); var items = retValForItem.ProductItems.Where(m => m.ProductId == ProductId && m.ClientId == ClientId).ToList(); var itemCount = items.Count(m => m.ClientId == ClientId && m.ProductId == ProductId); ViewBag.productItemCount = itemCount; if (itemCount == 1) { var itemId = Convert.ToInt32(items.FirstOrDefault(m => m.ProductId == ProductId && m.ClientId == ClientId).ProductItemId); ViewBag.productItemId = itemId; ProductItemId = itemId; } } #endregion #region client, product and item session initialization AppSession newSession = null; var userClientSession = (AppSession)Session["_UserClientSession_"]; newSession = new AppSession { ClientId = ClientId ?? 0, ProductId = ProductId ?? 0, ProductItemId = ProductItemId ?? 0, }; Session["_UserClientSession_"] = newSession; var clientId = ClientId ?? newSession.ClientId; var productId = ProductId ?? newSession.ProductId; var productItemId = ProductItemId ?? newSession.ProductItemId; #endregion var obj = new ClientProductInfoObj { CurrentClientId = clientId, CurrentProductId = productId, CurrentProductItemId = productItemId, ProductInfo = new ProductItemObj() }; if (clientId > 0 && productId > 0) { var prodInfo = getProductItemObj(clientId, productId, productItemId); if (prodInfo.ProductItemId > 0) { obj.ProductInfo = prodInfo; } } var searchObj = new AppStatSearchObj { AdminUserId = userData.UserId, StartDate = "", StopDate = "", ProductItemId = productItemId, ProductId = productId, ClientId = clientId, UserId = userData.UserId, }; var retVal = DashboardServices.LoadDashboard(searchObj, userData.Username); if (retVal?.Status == null) { ViewBag.Error = "No record found!"; return(View(new ClientProductInfoObj())); } if (!retVal.Status.IsSuccessful) { ViewBag.Error = "No record found!"; return(View(new ClientProductInfoObj())); } obj.Appstats = retVal; if (obj == null) { return(View(new ClientProductInfoObj())); } return(View(obj)); } catch (Exception ex) { ViewBag.Error = ex.Message; UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(View(new ClientProductInfoObj())); } }