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(); }