Пример #1
0
 public MaterialRepository(IDatabase database, ISession session, ICache cache, IUnitConversionHelper conversionHelper)
 {
     m_database         = database;
     m_session          = session;
     m_cache            = cache;
     m_conversionHelper = conversionHelper;
 }
Пример #2
0
 public MaterialBatchFacade(
     ILog log,
     IVirtualProductFacade virtualProductFacade,
     IMaterialBatchRepository batchRepository,
     IPurchaseOrderRepository orderRepository,
     AmountProcessor amountProcessor,
     ICache cache,
     IDatabase database,
     IPackingPreferredBatchRepository batchPreferrenceRepository,
     IKitProductRepository kitProductRepository,
     IUnitConversionHelper conversionHelper,
     IMaterialThresholdRepository materialThresholdRepository,
     IMaterialRepository materialRepository,
     IUnitRepository unitRepository,
     IStockEventRepository stockEventRepository,
     ISession session,
     IFixedCostRepository fixedCostRepository)
 {
     m_log = log;
     m_virtualProductFacade = virtualProductFacade;
     m_batchRepository      = batchRepository;
     m_orderRepository      = orderRepository;
     m_amountProcessor      = amountProcessor;
     m_cache    = cache;
     m_database = database;
     m_batchPreferrenceRepository  = batchPreferrenceRepository;
     m_kitProductRepository        = kitProductRepository;
     m_conversionHelper            = conversionHelper;
     m_materialThresholdRepository = materialThresholdRepository;
     m_materialRepository          = materialRepository;
     m_unitRepository       = unitRepository;
     m_stockEventRepository = stockEventRepository;
     m_session             = session;
     m_fixedCostRepository = fixedCostRepository;
 }
Пример #3
0
 public VirtualProductFacade(IVirtualProductRepository virtualProductRepository, IMaterialRepository materialRepository, IUnitRepository unitRepository, IUnitConversionHelper unitConversionHelper, IDatabase database)
 {
     m_virtualProductRepository = virtualProductRepository;
     m_materialRepository       = materialRepository;
     m_unitRepository           = unitRepository;
     m_unitConversionHelper     = unitConversionHelper;
     m_database = database;
 }
Пример #4
0
 public ApplyResultingMaterial(IMaterialRepository materialRepository, IMaterialFacade materialFacade,
                               IUnitRepository unitRepository, IUnitConversionHelper conversionHelper, AmountProcessor amountProcessor)
 {
     m_materialRepository = materialRepository;
     m_materialFacade     = materialFacade;
     m_unitRepository     = unitRepository;
     m_conversionHelper   = conversionHelper;
     m_amountProcessor    = amountProcessor;
 }
Пример #5
0
 public RecipeRepository(IDatabase database, ICache cache, ISession session, IMaterialRepository materialRepository, IUnitRepository unitRepository, IUnitConversionHelper conversionHelper)
 {
     m_database           = database;
     m_cache              = cache;
     m_session            = session;
     m_materialRepository = materialRepository;
     m_unitRepository     = unitRepository;
     m_conversionHelper   = conversionHelper;
 }
Пример #6
0
 public MaterialThresholdRepository(IPerProjectDbCache cache,
                                    ISession session,
                                    IMaterialRepository materialRepository,
                                    IDatabase database,
                                    IUnitConversionHelper unitConvertor)
 {
     m_cache              = cache;
     m_session            = session;
     m_materialRepository = materialRepository;
     m_database           = database;
     m_unitConvertor      = unitConvertor;
 }
Пример #7
0
 public VirtualProductsController(IWebSession webSession, ILog log, IVirtualProductRepository virtualProductRepository, IErpRepository erpRepository, ICache cache, IMaterialRepository materialRepository, IVirtualProductFacade virtualProductFacade, IMaterialFacade materialFacade, IUnitConversionHelper conversionHelper, IDatabase database, IMaterialThresholdRepository materialThresholdRepository)
     : base(webSession, log)
 {
     m_virtualProductRepository = virtualProductRepository;
     m_erpRepository            = erpRepository;
     m_cache = cache;
     m_materialRepository          = materialRepository;
     m_virtualProductFacade        = virtualProductFacade;
     m_materialFacade              = materialFacade;
     m_conversionHelper            = conversionHelper;
     m_database                    = database;
     m_materialThresholdRepository = materialThresholdRepository;
 }
Пример #8
0
 public MaterialFacade(IDatabase database,
                       IMaterialRepository materialRepository,
                       IUnitRepository unitRepository,
                       IUnitConversionHelper conversionHelper,
                       IVirtualProductRepository virtualProductRepository,
                       ISession session,
                       IMaterialThresholdRepository materialThresholdRepository)
 {
     m_database                 = database;
     m_materialRepository       = materialRepository;
     m_unitRepository           = unitRepository;
     m_conversionHelper         = conversionHelper;
     m_virtualProductRepository = virtualProductRepository;
     m_session = session;
     m_materialThresholdRepository = materialThresholdRepository;
 }
Пример #9
0
 public ProductionFacade(
     IDatabase database,
     IMaterialBatchRepository batchRepository,
     IMaterialRepository materialRepository,
     IUnitConversionHelper unitConversion,
     AmountProcessor amountProcessor,
     ILog log,
     IMaterialBatchFacade batchFacade, IUnitRepository unitRepository, ISession session)
 {
     m_database           = database;
     m_batchRepository    = batchRepository;
     m_materialRepository = materialRepository;
     m_unitConversion     = unitConversion;
     m_amountProcessor    = amountProcessor;
     m_log            = log;
     m_batchFacade    = batchFacade;
     m_unitRepository = unitRepository;
     m_session        = session;
 }
Пример #10
0
 public StockEventRepository(IPerProjectDbCache cache,
                             Lazy <IMaterialBatchFacade> batchFacade,
                             IMaterialBatchRepository batchRepository,
                             AmountProcessor amountProcessor,
                             IMaterialRepository materialRepository,
                             ISession session,
                             IDatabase database, IUnitRepository unitRepository, IUnitConversionHelper conversionHelper,
                             IPurchaseOrderRepository orderRepository, IServiceLocator serviceLocator)
 {
     m_cache              = cache;
     m_batchFacade        = batchFacade;
     m_batchRepository    = batchRepository;
     m_amountProcessor    = amountProcessor;
     m_materialRepository = materialRepository;
     m_session            = session;
     m_database           = database;
     m_unitRepository     = unitRepository;
     m_conversionHelper   = conversionHelper;
     m_orderRepository    = orderRepository;
     m_serviceLocator     = serviceLocator;
 }
Пример #11
0
 public MaterialBatchRepository(IDatabase database,
                                ISession session,
                                IUnitConversionHelper conversionHelper,
                                IMaterialRepository materialRepository,
                                IVirtualProductRepository virtualProductRepository,
                                ICache cache,
                                Lazy <IMaterialBatchFacade> materialBatchFacade,
                                ISupplierRepository supplierRepository,
                                ICurrencyConversionHelper currencyConversionHelper, IServiceLocator serviceLocator, Lazy <IRecipeRepository> recipeRepository)
 {
     m_database                 = database;
     m_session                  = session;
     m_conversionHelper         = conversionHelper;
     m_materialRepository       = materialRepository;
     m_virtualProductRepository = virtualProductRepository;
     m_cache = cache;
     m_materialBatchFacade      = materialBatchFacade;
     m_supplierRepository       = supplierRepository;
     m_currencyConversionHelper = currencyConversionHelper;
     m_serviceLocator           = serviceLocator;
     m_recipeRepository         = recipeRepository;
 }
Пример #12
0
 public MaterialRepositoryWithPostponedCache(IDatabase database, ISession session, CacheWithPostponedRemoval cache, IUnitConversionHelper conversionHelper)
     : base(database, session, cache, conversionHelper)
 {
     m_ppCache = cache;
 }
Пример #13
0
        public IExtendedMaterialModel CreateBatch(decimal batchAmount, IMaterialUnit preferredBatchUnit, IUnitConversionHelper conversions)
        {
            // Nominal = 1kg
            // Batch = 500g
            var batchUnit = conversions.GetPrefferedUnit(preferredBatchUnit, NominalUnit);                            //g
            var convertedNominalAmount = conversions.ConvertAmount(NominalUnit.Id, batchUnit.Id, NominalAmount);      // 1000g
            var convertedBatchAmount   = conversions.ConvertAmount(preferredBatchUnit.Id, batchUnit.Id, batchAmount); //500g

            var conversionFactor = convertedBatchAmount / convertedNominalAmount;                                     // 0.5

            var batch = new ExtendedMaterial(Adaptee)
            {
                BatchUnit = batchUnit, BatchAmount = convertedBatchAmount
            };

            var batchComponents = new List <MaterialComponent>(m_components.Count);

            foreach (var sourceComponent in m_components)
            {
                var componentBatchAmount = sourceComponent.Amount * conversionFactor;

                var batchedComponentMaterial = sourceComponent.Material.CreateBatch(
                    componentBatchAmount,
                    sourceComponent.Unit,
                    conversions);

                var batchComponent = new MaterialComponent(sourceComponent.Unit, batchedComponentMaterial, componentBatchAmount, null);
                batchComponents.Add(batchComponent);
            }

            return(batch);
        }
Пример #14
0
 public AmountProcessor(IUnitConversionHelper conversionHelper, IUnitRepository unitRepository)
 {
     m_conversionHelper = conversionHelper;
     m_unitRepository = unitRepository;
 }