/// <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;
     }
 }
Example #2
0
        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
                }
            }
        }