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);
        }
Example #3
0
        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);
 }