public MobileItemDetails GetItemDetails(MobileItemRequestDetails mobileItemRequestDetails) { string message = string.Empty; string status = string.Empty; bool isValidVersion = true; MobileItemDetails mobileItemDetails = new MobileItemDetails(); try { using (StageBitzDB dataContext = new StageBitzDB()) { isValidVersion = Helper.IsValidAppVersion(mobileItemRequestDetails.Version, out status); if (isValidVersion) { //Check the user security int userId = int.Parse(Utils.DecryptStringAES(mobileItemRequestDetails.Token)); if (Utils.CanAccessInventory(mobileItemRequestDetails.CompanyId, userId)) { Item item = dataContext.Items.Where(i => i.ItemId == mobileItemRequestDetails.ItemId).FirstOrDefault(); if (item != null) { InventoryBL inventoryBL = new InventoryBL(dataContext); mobileItemDetails.ItemId = item.ItemId; mobileItemDetails.Status = "OK"; mobileItemDetails.Name = item.Name; mobileItemDetails.ItemTypeId = item.ItemTypeId.HasValue ? item.ItemTypeId.Value : 0; mobileItemDetails.Description = item.Description; mobileItemDetails.Quantity = item.Quantity.HasValue ? item.Quantity.Value : 0; mobileItemDetails.CanEditItem = inventoryBL.GetItemStatusInformationForUser(item, mobileItemRequestDetails.CompanyId, userId).IsReadOnly ? 0 : 1; //Get Item Status mobileItemDetails.ItemStatus = inventoryBL.GetItemStatus(item.ItemId); mobileItemDetails.LastUpdatedDate = item.LastUpdatedDate.HasValue ? item.LastUpdatedDate.Value : item.CreatedDate.Value; UtilityBL utilityBL = new UtilityBL(dataContext); var medias = utilityBL.GetDocumentMedias("Item", item.ItemId, true, null); if (medias.Count > 0) { var docMediaIdList = medias.OrderByDescending(m => m.SortOrder).ThenBy(m => m.DocumentMediaId).Select(m => m.DocumentMediaId).ToList <int>(); mobileItemDetails.DocumentMediaIdList = docMediaIdList; } } else { mobileItemDetails.Status = "NOTOK"; mobileItemDetails.Message = "Item not exist."; } } else { mobileItemDetails.Status = "NOTOK"; mobileItemDetails.Message = "Check settings with Company Administrator."; } } else { mobileItemDetails.Status = "NOTOK"; mobileItemDetails.Message = "Please update App."; } } } catch (Exception ex) { AgentErrorLog.HandleException(ex); mobileItemDetails.Status = "ERROR"; mobileItemDetails.Message = "Oops! Unkown error. Sorry..."; } return(mobileItemDetails); }