コード例 #1
0
 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;
 }
コード例 #2
0
        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);
        }