示例#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;
 }
 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;
 }