예제 #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            var valueToPay  = nupValue.Visible ? Convert.ToDouble(nupValue.Value) : Convert.ToDouble(lbAmount.Text);
            var valueParcel = Convert.ToDouble(lbInstallment.Text.Replace("R$ ", ""));
            int day         = Convert.ToInt32(report.CreditCards[0].DueDate);
            int month       = Convert.ToInt32(report.CreditCards[0].ClosingDate) < dtpBaseTime.Value.Day ? dtpBaseTime.Value.AddMonths(1).Month : dtpBaseTime.Value.Month;
            int year        = Convert.ToInt32(report.CreditCards[0].ClosingDate) < dtpBaseTime.Value.Day ? dtpBaseTime.Value.AddMonths(1).Year : dtpBaseTime.Value.AddMonths(1).Year;
            var date        = DateTime.Parse($"{day}-{month}-{year}");

            ctrEntry.PayCreditCard(Convert.ToInt32(cbBankSender.SelectedValue), report.CreditCards[0].Id, valueToPay, valueParcel, dtpBaseTime.Value, date);

            foreach (var entry in report.EntryExpenses.Where(entry => entry.Status == false).ToList())
            {
                entry.Status = true;
                ctrEntry.Save(entry);
                EntryExpenses oldExpense = entry.Clone();
                oldExpense.Value *= (-1);
                ctrEntry.PerformTransaction(oldExpense);
            }

            MessageBox.Show("Pagamento realizado com sucesso!", "Informativo", MessageBoxButtons.OK);
            this.Close();
        }