Exemplo n.º 1
0
        public Invoice Create(InvoiceModel model, InvoicerContext context)
        {
            Invoice result = new Invoice()
            {
                Id           = model.Id,
                BillCustomer = context.Customers.Find(model.BillCustomerId),
                ShipCustomer = context.Customers.Find(model.ShipCustomerId),
                Date         = model.Date,
                Other        = model.Other,
                Status       = model.Status,
                Entries      = new System.Collections.Generic.List <InvoiceEntry>()
            };
            double untaxedPrice = 0;

            foreach (var item in model.Entries)
            {
                InvoiceEntry invoiceEntry = Create(item, context, result);
                result.Entries.Add(invoiceEntry);
                untaxedPrice += invoiceEntry.Price;
            }

            //TODO: make tax configurable
            double taxedPrice = untaxedPrice + (untaxedPrice * 0.17);

            result.Total = taxedPrice + result.Other;
            result.Tax   = 17;

            return(result);
        }
Exemplo n.º 2
0
 public Article Create(ArticleModel model, InvoicerContext context)
 {
     return(new Article()
     {
         Id = model.Id,
         Name = model.Name,
         Price = model.Price,
         InStock = model.InStock
     });
 }
Exemplo n.º 3
0
 public Company Create(CompanyModel model, InvoicerContext context)
 {
     return(new Company()
     {
         Id = model.Id,
         Name = model.Name,
         Address = model.Address,
         City = model.City,
         ZIP = model.ZIP,
         Phone = model.Phone
     });
 }
Exemplo n.º 4
0
        public InvoiceEntry Create(InvoiceEntryModel model, InvoicerContext context, Invoice invoice)
        {
            InvoiceEntry result = new InvoiceEntry()
            {
                Id       = model.Id,
                Article  = context.Articles.Find(model.Article),
                Invoice  = invoice,
                Quantity = model.Quantity
            };

            result.Price = result.Quantity * result.Article.Price;
            return(result);
        }