/// <summary> /// this methos is used to get item details by item id. /// </summary> /// <param name="itemId"></param> /// <returns></returns> public ItemProfileAC GetItemProfileByItemId(int itemId) { try { var itemProfile = new ItemProfileAC(); var itemProfileDetail = _itemProfileContext.FirstOrDefault(x => x.Id == itemId && x.IsDeleted == false); if (itemProfileDetail != null) { var itemQuantiyCollection = new List <ItemQuantityList>(); var itemQuantityList = new ItemQuantityList(); itemProfile = ApplicationClassHelper.ConvertType <ItemProfile, ItemProfileAC>(itemProfileDetail); itemProfile.ItemProfileId = itemProfileDetail.Id; itemProfile.ItemType = itemProfileDetail.Category.BrandParamType.ValueEn + "-" + itemProfileDetail.Category.GroupParamType.ValueEn; var posIncidentReportDetails = _posIncidentReportDataRepository.FirstOrDefault(x => x.ItemId == itemProfileDetail.Id); itemProfile.PosIncidentReportId = posIncidentReportDetails.Id; var posIncidentDetails = _posIncidentReportDataRepository.FirstOrDefault(x => x.ItemId == itemId); if (posIncidentDetails != null) { itemProfile.BranchId = (int)posIncidentDetails.BranchId; itemProfile.BranchName = posIncidentDetails.BranchDetail.Name; } var itemQuantityDetails = _itemQuantityContext.FirstOrDefault(x => x.ItemId == itemProfile.Id && x.Branch.CompanyId == itemProfileDetail.CompanyId); if (itemQuantityDetails != null) { itemQuantityList = ApplicationClassHelper.ConvertType <ItemQuantity, ItemQuantityList>(itemQuantityDetails); itemQuantityList.ItemQuantityId = itemQuantityDetails.Id; itemProfile.BranchId = itemQuantityDetails.BranchId; itemProfile.ActualQuantity = itemQuantityDetails.ActualQuantity; itemQuantityList.MaximumQuantity = itemQuantityDetails.MaxQuantity; itemQuantityList.MinimumQuantity = itemQuantityDetails.MinQuantity; } itemQuantiyCollection.Add(itemQuantityList); itemProfile.ListOfItemQuantityList = itemQuantiyCollection; } return(itemProfile); } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
public void ExecuteFilterByQuantityViewCommand() { int filterQty; decimal purchasePrice, salePrice; if (ItemQuantityList != null) { ItemsQuantity = new ObservableCollection <ItemQuantityDTO>(ItemQuantityList.ToList()); } else { return; } if (SelectedQuantity != null && int.TryParse(FilterQuantity.ToString(), out filterQty)) { switch (SelectedQuantity.Value) { #region Filter By Qty case 0: break; case 1: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.QuantityOnHand > filterQty).ToList()); break; case 2: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.QuantityOnHand < filterQty).ToList()); break; case 3: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.QuantityOnHand == filterQty).ToList()); break; case 4: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.QuantityOnHand >= iq.Item.SafeQuantity).ToList()); break; case 5: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.QuantityOnHand <= iq.Item.SafeQuantity).ToList()); break; case 6: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.QuantityOnHand == iq.Item.SafeQuantity).ToList()); break; #endregion } } if (SelectedPurchasePrice != null && decimal.TryParse(FilterPurchasePrice.ToString(), out purchasePrice)) { switch (SelectedPurchasePrice.Value) { #region Filter By Purchase Price case 0: break; case 1: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.Item.PurchasePrice > purchasePrice).ToList()); break; case 2: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.Item.PurchasePrice < purchasePrice).ToList()); break; case 3: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.Item.PurchasePrice == purchasePrice).ToList()); break; #endregion } } if (SelectedSalePrice != null && decimal.TryParse(FilterSalePrice.ToString(), out salePrice)) { switch (SelectedSalePrice.Value) { #region Filter By Sale Price case 0: break; case 1: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.Item.SalePrice > salePrice).ToList()); break; case 2: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.Item.SalePrice < salePrice).ToList()); break; case 3: ItemsQuantity = new ObservableCollection <ItemQuantityDTO>( ItemsQuantity.Where(iq => iq.Item.SalePrice == salePrice).ToList()); break; #endregion } } }