示例#1
0
        internal override void Load()
        {
            using (StoreKeeperDataContext dataContext = new StoreKeeperDataContext())
            {
                Guid id    = ItemId;
                Guid ordId = OrderId;
                ProductArticleItem        articleItem = dataContext.ProductArticleItems.Find(id);
                ProductArticleReservation reservation = articleItem.ProductArticleReservations.FirstOrDefault(r => r.ProductArticleOrderId == ordId);

                ArticleId             = articleItem.ArticleId;
                Code                  = articleItem.Article.Code;
                Type                  = articleItem.Article.ArticleType;
                Name                  = articleItem.Article.Name;
                Count                 = articleItem.Quantity;
                StockAvailable        = reservation != null ? reservation.CurrentCount : 0;
                Storage               = articleItem.Storage.Name;
                ProductionReservation = reservation != null ? reservation.ReservationCount : 0;
                OrderCount            = reservation != null ? reservation.OrderCount : 0;

                if (Type == ArticleType.Card)
                {
                    ArticleOrder articleOrder = dataContext.ArticleOrders.FirstOrDefault(ao => ao.ArticleId == articleItem.ArticleId);
                    if (reservation != null && Math.Abs(reservation.OrderCount - 0) < 0.001)
                    {
                        articleOrder = null;
                    }

                    MaterialOrderStatus = new MaterialOrderStatus(DataChange, articleOrder != null ? articleOrder.Count : 0, articleOrder != null ? articleOrder.Article.OrderCount : 0);
                }
                else
                {
                    MaterialOrderStatus = new MaterialOrderStatus(DataChange, 0, 0);
                }
            }
        }
 public MaterialOrderStatusViewModel(IMaterialOrderStatus materialOrderStatus)
 {
     _materialOrderStatus = materialOrderStatus;
 }