コード例 #1
0
        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);
        }