public AddEditOutgoingInvoicesModal(Model.OutgoingInvoice invoiceToUpdate)
		{
			this.InitializeComponent();

            _invoiceToUpdate = invoiceToUpdate;
            _isUpdateInvoice = invoiceToUpdate != null;
            dtpPaidDate.SelectedDate = dtpInvoiceDate.SelectedDate = DateTime.Now;
            FillPatients();

            if (_isUpdateInvoice)
            {
                PrepareWindowForUpdates();
            }
        }
        private void btnAddUpdateInvoice_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            int patientId;
            decimal totalAmount;
            string folio = txtFolio.Text.Trim();
            string totalAmountText = txtTotalAmount.Text.Trim();

            if (AreValidFields(totalAmountText, out patientId, out totalAmount) == false)
            {
                return;
            }

            if (_isUpdateInvoice)
            {
                _invoiceToUpdate.PatientId = patientId;
                _invoiceToUpdate.InvoiceDate = dtpInvoiceDate.SelectedDate;
                _invoiceToUpdate.PaidDate = dtpPaidDate.SelectedDate.Value;
                _invoiceToUpdate.Folio = folio;
                _invoiceToUpdate.PaidMethod = cbPaidMethod.SelectedValue.ToString();
                _invoiceToUpdate.TotalAmount = totalAmount;
                
                UpdateInvoice(_invoiceToUpdate);
            }
            else
            {
                Model.OutgoingInvoice invoiceToAdd = new Model.OutgoingInvoice()
                {
                    PatientId = patientId,
                    InvoiceDate = dtpInvoiceDate.SelectedDate,
                    PaidDate = dtpPaidDate.SelectedDate.Value,
                    Folio = folio,
                    PaidMethod = cbPaidMethod.SelectedValue.ToString(),
                    TotalAmount = Convert.ToDecimal(totalAmount),
                    IsDeleted = false
                };

                AddInvoice(invoiceToAdd);
            }
        }