private void btnSave_Click(object sender, EventArgs e)
        {
            SetEntryExpenses();
            if (isEditMode && OldModel.Value != Model.Value)
            {
                OldModel.Value *= -1;
                controller.PerformTransaction(OldModel);
                controller.Remove(OldModel);
            }

            if (Model.PaymentMethod is Account)
            {
                controller.PerformTransaction(Model);
            }
            else if (!isEditMode)
            {
                if (ckRepeat.Enabled && ckRepeat.Checked)
                {
                    Model.CaptionRepeat = $"(1/{nupTimes.Value})";
                    controller.SplitAccount(Convert.ToInt32(nupTimes.Value), Model.Clone());
                }
                else
                {
                    controller.PerformTransaction(Model);
                }
            }

            controller.Save(Model);
            DialogResult = DialogResult.OK;
            this.Close();
        }
예제 #2
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();
        }