Esempio n. 1
0
        public InvLib.ProductDetail Fetch(SingleCriteria <InvLib.ProductDetail, int> criteria)
        {
            var item = new InvLib.ProductDetail();
            var p    = (from r in MockDb.ProductData where r.Id == criteria.Value select r).Single();

            LoadProperty(item, InvLib.ProductDetail.IdProperty, p.Id);
            LoadProperty(item, InvLib.ProductDetail.NameProperty, p.Name);
            LoadProperty(item, InvLib.ProductDetail.PriceProperty, p.Price);
            LoadProperty(item, InvLib.ProductDetail.CategoryIdProperty, p.CategoryId);
            var totalQoh = (from b in MockDb.BinData
                            where b.ProductId == p.Id
                            select b.Quantity).Sum();

            LoadProperty(item, InvLib.ProductDetail.QohProperty, totalQoh);

            var l = (from r in MockDb.BinData
                     join w in MockDb.WarehouseData on r.WarehouseId equals w.Id
                     where r.ProductId == p.Id
                     orderby w.Name
                     select new { BinId = r.Id, WarehouseName = w.Name, Qoh = r.Quantity }).GroupBy(s => s.WarehouseName);

            SetIsReadOnly(item.Locations, false);
            foreach (var bin in l)
            {
                var pli = new InvLib.ProductLocationInfo();
                LoadProperty(pli, InvLib.ProductLocationInfo.WarehouseNameProperty, bin.Key);
                var q = (from i in bin select i.Qoh).Sum();
                LoadProperty(pli, InvLib.ProductLocationInfo.QohProperty, q);
                item.Locations.Add(pli);
            }
            SetIsReadOnly(item.Locations, true);

            return(item);
        }
Esempio n. 2
0
    public InvLib.ProductDetail Fetch(SingleCriteria<InvLib.ProductDetail, int> criteria)
    {
      var item = new InvLib.ProductDetail();
      var p = (from r in MockDb.ProductData where r.Id == criteria.Value select r).Single();
      LoadProperty(item, InvLib.ProductDetail.IdProperty, p.Id);
      LoadProperty(item, InvLib.ProductDetail.NameProperty, p.Name);
      LoadProperty(item, InvLib.ProductDetail.PriceProperty, p.Price);
      LoadProperty(item, InvLib.ProductDetail.CategoryIdProperty, p.CategoryId);
      var totalQoh = (from b in MockDb.BinData
                 where b.ProductId == p.Id
                 select b.Quantity).Sum();
      LoadProperty(item, InvLib.ProductDetail.QohProperty, totalQoh);

      var l = (from r in MockDb.BinData
              join w in MockDb.WarehouseData on r.WarehouseId equals w.Id
              where r.ProductId == p.Id
              orderby w.Name
              select new { BinId = r.Id, WarehouseName = w.Name, Qoh = r.Quantity }).GroupBy(s => s.WarehouseName);

      SetIsReadOnly(item.Locations, false);
      foreach (var bin in l)
      {
        var pli = new InvLib.ProductLocationInfo();
        LoadProperty(pli, InvLib.ProductLocationInfo.WarehouseNameProperty, bin.Key);
        var q = (from i in bin select i.Qoh).Sum();
        LoadProperty(pli, InvLib.ProductLocationInfo.QohProperty, q);
        item.Locations.Add(pli);
      }
      SetIsReadOnly(item.Locations, true);

      return item;
    }