public PaymentEditPopup(Payment payment) { InitializeComponent(); paymentEdit.CurrentPayment = this.payment = payment; Program.Table<Payment>().RowRemoved += Paymens_RowRemoved; ClientSize = paymentEdit.Size; }
DepositAdder(Payment[] payments) { InitializeComponent(); this.payments = payments; account = (string)payments[0]["Account"]; selectedPayments = new bool[payments.Length]; for (int i = 0; i < Math.Min(16, payments.Length); i++) selectedPayments[i] = true; Text = "Add " + account + " Deposit"; grid.DataSource = new RowListBinder(Program.Table<Payment>(), payments); gridView.BestFitColumns(); depositNumber.EditValue = null; totalSummary = String.Format(CultureInfo.CurrentCulture, "Total: {0:#,0} undeposited payment{1}, {2:c}\r\n", payments.Length, payments.Length == 1 ? "" : "s", payments.Sum(p => p.Amount)); UpdateSummary(); CheckableGridController.Handle(colCheck); }
public void DoImport() { var pledge = new Pledge { Person = Person, Date = Date, Type = Type, SubType = SubType, Note = Note, Account = Account, Amount = Amount, Comments = Comments }; Program.Table<Pledge>().Rows.Add(pledge); pledge.Modifier = Modifier; if (AmountPaid != 0) { var payment = new Payment { Person = Person, Date = Date, Method = PaymentMethod, CheckNumber = CheckNumber, Account = Account, Amount = AmountPaid, Comments = Comments }; Program.Table<Payment>().Rows.Add(payment); payment.Modifier = Modifier; Program.Table<PledgeLink>().Rows.Add(new PledgeLink { Amount = AmountPaid, Payment = payment, Pledge = pledge }); } }
partial void ValidatePayment(Payment newValue, Action<string> error);
partial void OnPaymentChanged(Payment oldValue, Payment newValue);
public void Import() { if (!string.IsNullOrWhiteSpace(CurrentPayment.Email) && !AppFramework.Table<EmailAddress>().Rows .Any(r => r.Email.Equals(CurrentPayment.Email, StringComparison.OrdinalIgnoreCase))) { AppFramework.Table<EmailAddress>().Rows.Add(new EmailAddress { Email = CurrentPayment.Email, Name = CurrentPayment.FirstName + " " + CurrentPayment.LastName, DateAdded = CurrentPayment.Date, Person = Person }); } var payment = new Payment { Account = Names.DefaultAccount, CheckNumber = CurrentPayment.FinalFour, Amount = CurrentPayment.Amount, Company = CurrentPayment.Company, Comments = TrimComments(Comments.Trim()), Date = CurrentPayment.Date, Method = "Credit Card", Person = Person, }; AppFramework.Table<Payment>().Rows.Add(payment); AppFramework.Table<ImportedPayment>().Rows.Add(new ImportedPayment { DateImported = DateTime.Now, ExternalId = CurrentPayment.Id, ImportingUser = Environment.UserName, Payment = payment, Source = CurrentPayment.SourceName }); Pledge pledge = null; if (CreatePledge) { pledge = new Pledge { Account = payment.Account, Amount = PledgeAmount, Comments = TrimComments("Created for credit card payment:\n" + Comments.Trim()), Date = payment.Date, Person = payment.Person, Type = PledgeType, SubType = PledgeSubType ?? "", Note = PledgeNote }; AppFramework.Table<PledgeLink>().Rows.Add(new PledgeLink { Amount = pledge.Amount, Pledge = pledge, Payment = payment }); AppFramework.Table<Pledge>().Rows.Add(pledge); } if (CurrentPayment.JournalInfo?.MensSeats != null || CurrentPayment.JournalInfo?.WomensSeats != null) { AppFramework.Table<MelaveMalkaSeat>().Rows.Add(new MelaveMalkaSeat { MensSeats = CurrentPayment.JournalInfo.MensSeats, WomensSeats = CurrentPayment.JournalInfo.WomensSeats, Person = payment.Person, Year = JournalAd.InferYear(payment.Date), DateAdded = DateTime.Now }); } ImportCallback?.Invoke(CurrentPayment, payment, pledge); RefreshPayments(); }
private void add_Click(object sender, EventArgs e) { #region Validation if (amount.Value <= 0) { XtraMessageBox.Show("Please select an amount to bill.", "Shomrei Torah Billing", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (paymentMethod.SelectedIndex < 0) { XtraMessageBox.Show("Please select a payment method.", "Shomrei Torah Billing", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (paymentMethod.Text == "Check") { if (!(checkDate.EditValue is DateTime)) { XtraMessageBox.Show("Please enter the date on the check.", "Shomrei Torah Billing", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!String.IsNullOrWhiteSpace(checkNumber.Text)) { Payment duplicate = personSelector.SelectedPerson.Payments .FirstOrDefault(p => String.Equals(p.CheckNumber, checkNumber.Text, StringComparison.CurrentCultureIgnoreCase)); if (duplicate != null && !Dialog.Warn(String.Format(CultureInfo.CurrentCulture, "{0} #{1} for {2} has already been entered ({3:d}, {4:c}).\r\nIs that correct?", duplicate.Method, duplicate.CheckNumber, duplicate.Person.FullName, duplicate.Date, duplicate.Amount))) return; } } #endregion var actualComments = String.IsNullOrWhiteSpace(this.comments.Text) ? null : this.comments.Text; Pledge pledge = new Pledge { Person = personSelector.SelectedPerson, Date = DateTime.Now, Type = PledgeType, SubType = "", Account = Account, Amount = amount.Value, Comments = actualComments }; Program.Table<Pledge>().Rows.Add(pledge); string messagePrefix = personSelector.SelectedPerson.FullName + " have been added to the Shalach Manos list with a " + amount.Value.ToString("c0", CultureInfo.CurrentCulture); Payment payment = null; switch (paymentMethod.Text) { case "Unpaid": InfoMessage.Show(messagePrefix + " unpaid pledge."); break; case "Cash": Program.Table<Payment>().Rows.Add(payment = new Payment { Person = personSelector.SelectedPerson, Date = DateTime.Now, Method = paymentMethod.Text, Account = Account, Amount = amount.Value, Comments = actualComments }); InfoMessage.Show(messagePrefix + " cash payment."); break; case "Check": Program.Table<Payment>().Rows.Add(payment = new Payment { Person = personSelector.SelectedPerson, Date = checkDate.DateTime, Method = paymentMethod.Text, CheckNumber = checkNumber.Text, Account = Account, Amount = amount.Value, Comments = actualComments }); InfoMessage.Show(messagePrefix + " check."); break; } if (payment != null) Program.Table<PledgeLink>().Rows.Add(new PledgeLink { Amount = amount.Value, Payment = payment, Pledge = pledge }); personSelector.SelectedPerson = null; personSelector.Focus(); }