Example #1
0
        public decimal CalculateIncomingPrice(DatabaseContext db, Item item)
        {
            InvoiceDa invoiceDa = new InvoiceDa();
            ElementDa elementDa = new ElementDa();

            Element element = elementDa.GetItemElement(db, item.ID, true);

            if (element != null)//if item was added with invoice
            {
                List <Element> elements  = elementDa.GetInvoiceElements(db, element.Invoice_ID);
                decimal        transport = invoiceDa.GetInvoice(db, element.Invoice_ID).Transport;

                decimal sum = elements.Sum(x =>
                                           x.Item.Price + x.Item.Price * ((decimal)x.Item.IncomingTaxGroup.Tax / 100));
                decimal procent = decimal.Round((sum + transport) / sum, 4);
                return(decimal.Round((item.Price + item.Price * ((decimal)item.IncomingTaxGroup.Tax / 100)) * procent, 2));
            }
            return(item.Price);
        }
Example #2
0
 internal InvoiceDM()
 {
     _invoiceDa = new InvoiceDa();
 }