public void CheckIfInvoiceIsFullPaid()
 {
     if (BillsTotalAmountToCollect == 0) invoiceState = InvoicePaymentState.Paid;
 }
 public void Cancel()
 {
     this.invoiceState = InvoicePaymentState.Cancelled;
     CancelAllPendingBills();
 }
 public void SetInvoiceToBePaidIfHasNoUnpaidBills()
 {
     if (InvoiceHasBillsToCollect() && InvoiceHasNoUnpaidBills()) this.invoiceState = InvoicePaymentState.ToBePaid;
 }
 private void InitializeInvoice(InvoiceCustomerData invoiceCustomerData, List<Bill> billsList)
 {
     this.customerData = invoiceCustomerData;
     CheckInvoiceDetail();
     invoiceBills = new Dictionary<string, Bill>();
     if (billsList == null) billsList = new List<Bill> { CreateASingleBillForInvoiceTotal() };
     AddBillsToInvoice(billsList);
     invoiceState = InvoicePaymentState.ToBePaid;
     paymentAgreements = new Dictionary<DateTime,PaymentAgreement>();
 }
 public void SetInvoiceAsUnpaid()
 {
     this.invoiceState = InvoicePaymentState.Unpaid;
 }