public InvoiceFormsGenerationContext(ILog log, IInvoiceFormsRepository invoiceFormsRepository, int collectionId, IBatchPriceBulkProvider batchPriceBulkProvider)
 {
     m_log = log;
     m_invoiceFormsRepository = invoiceFormsRepository;
     m_collectionId           = collectionId;
     m_batchPriceBulkProvider = batchPriceBulkProvider;
 }
Exemplo n.º 2
0
        public BatchPrice GetBatchPrice(IMaterialBatch batch, IBatchPriceBulkProvider provider)
        {
            var compos = provider.GetBatchPriceComponents(batch.Id);

            var bp = new BatchPrice(batch);

            foreach (var c in compos)
            {
                bp.AddComponent(c.IsWarning, c.SourceBatchId, c.Text, c.RawValue);
            }

            return(bp);
        }
Exemplo n.º 3
0
        public Tuple <decimal, BatchPrice> GetPriceOfAmount(IMaterialBatch batch, Amount amount, IBatchPriceBulkProvider provider)
        {
            var batchPrice = GetBatchPrice(batch, provider);

            var totalAmount  = m_conversionHelper.ConvertAmount(new Amount(batchPrice.Batch.Volume, m_unitRepository.GetUnit(batchPrice.Batch.UnitId)), amount.Unit.Id);
            var pricePerUnit = batchPrice.TotalPriceInPrimaryCurrency / totalAmount.Value;

            return(new Tuple <decimal, BatchPrice>(pricePerUnit * amount.Value, batchPrice));
        }