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); }
internal InvoiceDM() { _invoiceDa = new InvoiceDa(); }