/// <summary> /// Displays the list of inventory /// </summary> /// <returns></returns> public ActionResult InventoryDetail() { StringBuilder objStringBuilderError = new StringBuilder(); try { if (Session["UserName"] != null) { InventorySearchModel inventorySearchModel = new InventorySearchModel(); IEnumerable<InventoryModel> lstInventoryDetails; List<DeviceModel> devices; using (JetstreamClient objMainServiceClient = new JetstreamClient()) { lstInventoryDetails = objMainServiceClient.GetInventoryList(inventorySearchModel.LogicalDeviceId, inventorySearchModel.SearchString); devices = objMainServiceClient.GetDeviceList(); } List<SelectListItem> deviceList = new SelectList(devices.OrderBy(x => x.LogicalDeviceId), "LogicalDeviceId", "LogicalDeviceId").ToList(); deviceList.Insert(0, new SelectListItem { Text = JetstreamResource.All, Value = string.Empty }); ViewBag.DeviceList = deviceList; SortingPagingInfo info = new SortingPagingInfo { SortField = Enums.InventorySortField.Material.ToString(), SortDirection = Constants.Ascending, }; lstInventoryDetails = lstInventoryDetails.OrderBy(x => x.Material).Take(Constants.PagingPageSize); ViewBag.SortingPagingInfo = info; if (lstInventoryDetails.Any()) inventorySearchModel.InventoryModels = lstInventoryDetails.ToList(); return View("InventoryDetail", inventorySearchModel); } else { return RedirectToAction("UserLogin", "Login"); } } catch (FaultException<ServiceData> fex) { objStringBuilderError.AppendLine("In method : InventoryDetail() :: InventoryController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", fex.Detail.ErrorMessage, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, fex.Detail.ErrorDetails); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } catch (Exception ex) { objStringBuilderError.AppendLine("In method : InventoryDetail() :: InventoryController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", ex.Message, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, ex.ToString()); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } }
/// <summary> /// Method to get the Inventory list by page number and page size for server side paging /// </summary> /// <param name="logicalDeviceId"></param> /// <param name="searchText"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="sortField"></param> /// <param name="sortDirection"></param> /// <returns></returns> public JsonResult GetInventoryList(string logicalDeviceId, string SearchString, int pageIndex, int pageSize, string sortField, string sortDirection) { List<InventoryModel> inventoriesModel; using (JetstreamClient objMainServiceClient = new JetstreamClient()) { var inventoryList = objMainServiceClient.GetInventoryList(logicalDeviceId, SearchString); SortingPagingInfo info = new SortingPagingInfo { SortField = sortField, SortDirection = sortDirection, }; inventoriesModel = ApplySorting(info, inventoryList).Skip(pageIndex * pageSize).Take(pageSize).ToList(); } return Json(new { inventoriesModel }, JsonRequestBehavior.AllowGet); }