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; }