public void AddAll(LinkDemandAndProviderTable linkDemandAndProviderTable) { if (linkDemandAndProviderTable.Any()) { ILinkDemandAndProvider linkDemandAndProvider = linkDemandAndProviderTable.GetAny(); if (linkDemandAndProvider.GetType() == typeof(T_DemandToProvider)) { _demandToProviderTable.AddAll(linkDemandAndProviderTable); } else if (linkDemandAndProvider.GetType() == typeof(T_ProviderToDemand)) { _providerToDemandTable.AddAll(linkDemandAndProviderTable); } else { throw new MrpRunException("Unexpected type."); } } }
public DbTransactionData(ProductionDomainContext productionDomainContext) { _productionDomainContext = productionDomainContext; // cache tables // TODO: This line should be removed _articles = _productionDomainContext.Articles.Include(m => m.ArticleBoms) .ThenInclude(m => m.ArticleChild).Include(m => m.ArticleBoms) .ThenInclude(x => x.Operation).ThenInclude(x => x.ResourceCapability) .ThenInclude(s => s.ResourceCapabilityProvider).ThenInclude(r => r.ResourceSetups) .ThenInclude(x => x.Resource) .Include(x => x.ArticleToBusinessPartners).ThenInclude(x => x.BusinessPartner) .ToList(); _productionOrderBoms = new ProductionOrderBoms(_productionDomainContext.ProductionOrderBoms.ToList()); _stockExchangeDemands = new StockExchangeDemands(_productionDomainContext.StockExchanges.ToList()); _stockExchangeProviders = new StockExchangeProviders(_productionDomainContext.StockExchanges.ToList()); _productionOrders = new ProductionOrders(_productionDomainContext.ProductionOrders.ToList()); _purchaseOrderParts = new PurchaseOrderParts(_productionDomainContext.PurchaseOrderParts.ToList()); _customerOrderParts = new CustomerOrderParts(_productionDomainContext.CustomerOrderParts.ToList()); _customerOrders = new CustomerOrders(_productionDomainContext.CustomerOrders.ToList()); // others _purchaseOrders.PushAll(_productionDomainContext.PurchaseOrders.ToList()); _productionOrderOperations = new ProductionOrderOperations( _productionDomainContext.ProductionOrderOperations.ToList()); // demandToProvider _demandToProviderTable = new LinkDemandAndProviderTable(_productionDomainContext.DemandToProviders); _providerToDemandTable = new LinkDemandAndProviderTable(_productionDomainContext.ProviderToDemand); }
public void TestAllDemandsAreInDemandToProviderTable() { IZppSimulator zppSimulator = new global::Master40.SimulationMrp.impl.ZppSimulator(); zppSimulator.StartTestCycle(); IDbTransactionData dbTransactionData = ZppConfiguration.CacheManager.ReloadTransactionData(); Demands allDbDemands = dbTransactionData.DemandsGetAll(); LinkDemandAndProviderTable demandToProviderTable = dbTransactionData.DemandToProviderGetAll(); foreach (var demand in allDbDemands) { bool isInDemandToProviderTable = demandToProviderTable.Contains(demand); Assert.True(isInDemandToProviderTable, $"Demand {demand} is NOT in demandToProviderTable."); } }
public void ProviderToDemandAddAll(LinkDemandAndProviderTable providerToDemandTable) { _providerToDemandTable.AddAll(providerToDemandTable); }