public MobileSearchResult GetItemSearchResults(MobileItemSearchRequest mobileItemSearchRequest) { string message = string.Empty; string status = string.Empty; bool isValidVersion = true; MobileSearchResult mobileSearchResult = new MobileSearchResult(); try { using (StageBitzDB dataContext = new StageBitzDB()) { isValidVersion = Helper.IsValidAppVersion(mobileItemSearchRequest.Version, out status); if (isValidVersion) { //Check the user security int userId = int.Parse(Utils.DecryptStringAES(mobileItemSearchRequest.Token)); if (Utils.CanAccessInventory(mobileItemSearchRequest.CompanyId, userId)) { int mobileInventorySearchResultCount = Convert.ToInt32(Utils.GetSystemValue("MobileInventorySearchResultCount")); int itemCount = 0; InventoryBL inventoryBL = new InventoryBL(dataContext); var mobileSearchItems = inventoryBL.GetInventoryItems(userId, mobileItemSearchRequest.CompanyId, mobileItemSearchRequest.CompanyId, mobileItemSearchRequest.ItemName, mobileItemSearchRequest.ItemTypeId, null, null, null, null, mobileInventorySearchResultCount, mobileItemSearchRequest.ViewedResultCount, string.Empty, out itemCount).ToList <InventoryItemData>(); int resultCountRemaining = itemCount - mobileItemSearchRequest.ViewedResultCount; bool hasMoreResults = (resultCountRemaining > mobileInventorySearchResultCount); mobileSearchResult.HasMoreResults = hasMoreResults ? 1 : 0; var sortedList = (from sr in mobileSearchItems select new MobileSearchItem { Name = sr.Item.Name, ItemId = sr.Item.ItemId, Description = sr.Item.Description, Quantity = sr.Item.Quantity.HasValue ? sr.Item.Quantity.Value : 0 }).ToList(); mobileSearchResult.MobileSearchItems = sortedList; mobileSearchResult.Status = "OK"; } else { mobileSearchResult.Status = "NOTOK"; mobileSearchResult.Message = "Check settings with Company Administrator."; } } else { mobileSearchResult.Status = "NOTOK"; mobileSearchResult.Message = "Please update App."; } } } catch (Exception ex) { AgentErrorLog.HandleException(ex); mobileSearchResult.Status = "ERROR"; mobileSearchResult.Message = "Oops! Unkown error. Sorry..."; } return(mobileSearchResult); }