public Invoice(int invoiceNumber, string clientName, string taxPayerIdentificationNumber, string authorizationId) { InvoiceId = new Guid(); InvoiceNumber = invoiceNumber; ClientName = clientName; TaxPayerIdentificationNumber = taxPayerIdentificationNumber; EmisionDate = DateTime.Now; AuthorizationId = authorizationId; Status = StatusInvoice.Declared; Detail = new List <InvoiceDetail>(); }
protected override void When(object @event) { switch (@event) { case Domain.Events.Invoice.InvoiceCreated e: Id = e.InvoiceID; InvoiceNumber = e.InvoiceNumber; ClientName = e.ClientName; TaxPayerIdentificationNumber = e.TaxPayerIdentificationNumber; EmisionDate = DateTime.Now; AuthorizationId = e.AuthorizationId; Status = StatusInvoice.Declared; break; case Domain.Events.Invoice.InvoiceCancelled e: Status = StatusInvoice.Canceled; break; case Domain.Events.Invoice.InvoicePosted e: Status = StatusInvoice.Issued; break; } }
private decimal CalculateTotalKredit(decimal price, decimal uangmuka, int lamaAngsuran, decimal sukuBunga, StatusInvoice status, decimal uangtandajadi) { decimal totalyangdikredit = (price - uangmuka - uangtandajadi + BiayaAdministration); decimal totalTahunAngsuran = decimal.Parse((lamaAngsuran / (double)12).ToString()); decimal totalbunga = (totalyangdikredit * (sukuBunga / 100)) * totalTahunAngsuran; return Math.Round(totalbunga + BiayaAdministration); }