private void btSaveAdd_Click(object sender, RoutedEventArgs e) { try { if (!decimal.TryParse(tbAmount.Text, out amount)) { throw new Exception("Invalid amount entered"); } paymentDate = (DateTime)dpDate.SelectedDate; if (cbbMethod.SelectedIndex == -1) { throw new Exception("Payment method is not selected"); } method = (Payment.PayMethod)(cbbMethod.SelectedIndex); notes = tbNotes.Text; if (notes.Length > 150) { throw new Exception("Notes can not exceed 150 characters"); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Data error", MessageBoxButton.OK, MessageBoxImage.Warning, MessageBoxResult.OK); return; } editedPayment.amount = amount; editedPayment.paymentDate = paymentDate; editedPayment.method = method; editedPayment.notes = notes; try { if (editedPayment.id == 0) { id = Globals.db.addPayment(editedPayment); editedPayment.id = id; } else { Globals.db.updatePayment(editedPayment); } } catch (MySqlException exx) { MessageBox.Show("Payment was not saved:\n\n" + exx.Message, "Database error", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK); return; } DialogResult = true; }
internal List <Payment> getAllPayments(long oId) { String sql = "SELECT * FROM payments WHERE orderId=" + oId + ";"; List <Payment> payments = new List <Payment>(); using (MySqlCommand command = new MySqlCommand(sql, conn)) using (MySqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { long id = Convert.ToInt32(reader["id"]); long orderId = Convert.ToInt32(reader["orderId"]); Payment.PayMethod method = (Payment.PayMethod)Enum.Parse(typeof(Payment.PayMethod), reader["method"] + ""); DateTime paymentDate = (DateTime)reader["paymentDate"]; decimal amount = Convert.ToDecimal(reader["amount"]); String notes = reader["notes"] + ""; Payment p = new Payment(id, orderId, method, paymentDate, amount, notes); payments.Add(p); } } return(payments); }