bazar.ExpenseSlip.OnButtonOkClicked C# (CSharp) Method

OnButtonOkClicked() protected method

protected OnButtonOkClicked ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        protected void OnButtonOkClicked(object sender, EventArgs e)
        {
            string sql;
            TreeIter iter;

            if(NewSlip)
            {
                sql = "INSERT INTO debit_slips (operation, org_id, cash_id, contractor_id, user_id, date, sum, " +
                    "expense_id, employee_id, details) " +
                        "VALUES (@operation, @org_id, @cash_id, @contractor_id, @user_id, @date, @sum, " +
                        "@expense_id, @employee_id, @details)";
            }
            else
            {
                sql = "UPDATE debit_slips SET operation = @operation, org_id = @org_id, cash_id = @cash_id, contractor_id = @contractor_id, " +
                    "date = @date, sum = @sum, expense_id = @expense_id, employee_id = @employee_id, " +
                        "details = @details " +
                        "WHERE id = @id";
            }
            logger.Info("Запись расходного ордера...");
            try
            {
                MySqlCommand cmd = new MySqlCommand(sql, QSMain.connectionDB);

                cmd.Parameters.AddWithValue("@id", entryNumber.Text);
                if(comboOperation.Active == 1)
                    cmd.Parameters.AddWithValue ("@operation","advance");
                else
                    cmd.Parameters.AddWithValue ("@operation","common");
                if(comboOrg.GetActiveIter(out iter) && (int)comboOrg.Model.GetValue(iter,1) != -1)
                    cmd.Parameters.AddWithValue("@org_id",comboOrg.Model.GetValue(iter,1));
                else
                    cmd.Parameters.AddWithValue("@org_id", DBNull.Value);
                if(comboCash.GetActiveIter(out iter))
                {
                    cmd.Parameters.AddWithValue("@cash_id", comboCash.Model.GetValue(iter,1));
                }
                if(comboOperation.Active == 0 && !ContractorNull)
                    cmd.Parameters.AddWithValue("@contractor_id", Contractor_id);
                else
                    cmd.Parameters.AddWithValue("@contractor_id", DBNull.Value);
                if(!AccountableNull)
                    cmd.Parameters.AddWithValue("@employee_id", Accountable_id);
                else
                    cmd.Parameters.AddWithValue("@employee_id", DBNull.Value);
                if(NewSlip)
                    cmd.Parameters.AddWithValue("@user_id", QSMain.User.Id);
                if(dateSlip.IsEmpty)
                    cmd.Parameters.AddWithValue("@date", DBNull.Value);
                else
                    cmd.Parameters.AddWithValue("@date", dateSlip.Date);
                cmd.Parameters.AddWithValue("@sum", spinSum.Value);
                if(!ExpenseNull)
                    cmd.Parameters.AddWithValue("@expense_id", Expense_id);
                else
                    cmd.Parameters.AddWithValue("@expense_id", DBNull.Value);
                if(textviewDetails.Buffer.Text == "")
                    cmd.Parameters.AddWithValue("@details", DBNull.Value);
                else
                    cmd.Parameters.AddWithValue("@details", textviewDetails.Buffer.Text);

                cmd.ExecuteNonQuery();
                logger.Info("Ok");
                Respond (ResponseType.Ok);
            }
            catch (Exception ex)
            {
                QSMain.ErrorMessageWithLog(this, "Ошибка записи расходного ордера!", logger, ex);
            }
        }