示例#1
0
        //boton para la cencalacion de las transacciones
        private void cancelButton_Click(object sender, EventArgs e)
        {
            //validacion si la tabla esta vacia
            if (transactionGridView.Rows.Count == 0)
            {
                MessageBox.Show("La tabla esta vacia");
            }
            else
            {
                DialogResult result = MessageBox.Show("¿Seguro que desea eliminar este elemento?", "Confirmacion", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                if (result == DialogResult.Yes)
                {
                    //tomamos el id de la transaccion
                    string idTransaction = transactionGridView.CurrentRow.Cells[0].Value.ToString();

                    //establecemos la fecha de hoy para comparacion
                    DateTime date  = DateTime.Today;
                    string   today = date.ToString("dd/MM/yyyy");

                    //abrimos conexion
                    Connection.OpenConnection();
                    //generamos el query
                    MySqlCommand    command = new MySqlCommand(String.Format("SELECT * from Transaction WHERE idTransaction = '{0}' AND CancelTransaction = false", idTransaction), Connection.myConnection);
                    MySqlDataReader reader  = command.ExecuteReader();

                    //si existe el registro
                    if (reader.Read())
                    {
                        //creamos un objeto de tipo transaccion
                        Class.Transaction transaction = new Class.Transaction(reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetInt32(3), reader.GetString(4), reader.GetFloat(5), reader.GetInt32(6), reader.GetBoolean(7));
                        //cerramos conexion
                        Connection.CloseConnection();

                        string transactionDate = transaction.Date;

                        //comparamos las fechas para la cancelacion
                        //if (today == transactionDate)
                        //{
                        //validacion de la cuenta a cancelar
                        //obtenga los fondos necesarios para regresar el dinero
                        if (haveBalance(transaction.OrigenAccount, transaction.Quantity))
                        {
                            MessageBox.Show("La cuenta no contiene el saldo necesario para esta transaccion");
                        }
                        else
                        {
                            Connection.OpenConnection();
                            //si la cancelacion es el mismo dia se cancela la transaccion
                            Class.Transaction.deleteTransaction(Connection.myConnection, idTransaction);
                            Connection.CloseConnection();

                            MessageBox.Show("Eliminado exitosamente");
                            this.Close();
                        }
                        //}
                        // else
                        //{
                        //MessageBox.Show("El tiempo de cancelacion expiro");
                        //this.Close();
                        //}
                    }
                }
            }
        }
示例#2
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            if (origenDataGridView.Rows.Count == 0 || destinationGridView.Rows.Count == 0)
            {
                MessageBox.Show("Las tablas estan vacias");
            }
            else if (origenDataGridView.CurrentRow.Cells[0].Value.ToString() == destinationGridView.CurrentRow.Cells[0].Value.ToString())
            {
                MessageBox.Show("No se puede transferir a la misma cuenta");
            }
            else if (quantityTextBox.Text == "")
            {
                MessageBox.Show("Favor de llenar todos los campos");
            }
            else
            {
                //Abrimos conexion con la db
                Connection.OpenConnection();
                //tomamos el id del cliente origen
                string idOrigenClient = origenDataGridView.CurrentRow.Cells[0].Value.ToString();
                //obtenemos el id de la cuenta
                int idOrigen = Class.Account.searchIdAccount(Connection.myConnection, idOrigenClient);
                //cerramos la conexion a la db
                Connection.CloseConnection();


                //abrimos conexion a db
                Connection.OpenConnection();
                //tomamos el id del cliente destino
                string idDestinationClient = destinationGridView.CurrentRow.Cells[0].Value.ToString();
                //obtenemos el id de la cuenta
                int idDestination = Class.Account.searchIdAccount(Connection.myConnection, idDestinationClient);
                //ceramos conexion a db
                Connection.CloseConnection();

                //establecemos el tipo de cuenta
                int type;
                if (accountTypeComboBox.SelectedIndex == 0)
                {
                    // 0 = Credito
                    type = 0;
                }
                else
                {
                    //1 = Debito
                    type = 1;
                }

                //abrimos conexion
                Connection.OpenConnection();
                //realizamos el query para la cuenta
                MySqlCommand    command = new MySqlCommand(String.Format("SELECT * from Account WHERE idAccount = '{0}' AND Active  = true", idOrigen), Connection.myConnection);
                MySqlDataReader reader  = command.ExecuteReader();

                //si la cuenta existe entramos
                if (reader.Read())
                {
                    //se genera un objeto de tipo cuenta con todos los datos de la cuenta origen
                    Class.Account valAccount = new Class.Account(reader.GetInt32(0), reader.GetInt32(1), reader.GetString(2), reader.GetFloat(3), reader.GetFloat(4), reader.GetString(5), reader.GetInt32(6), reader.GetBoolean(7));
                    //se cierra la conexion
                    Connection.CloseConnection();

                    //validacion si el saldo de la cuenta es menor a la cantidad se genera un mensaje de error
                    if (valAccount.Balance < Convert.ToInt32(quantityTextBox.Text))
                    {
                        MessageBox.Show("La cuenta origen no tiene el saldo suficiente");
                    }
                    else
                    {
                        //abrimos conexion a db
                        Connection.OpenConnection();
                        //establecemos la fecha de la transaccion
                        DateTime today = DateTime.Today;
                        string   date  = today.ToString("yyyyMMdd");

                        //creamos el objeto de tipo transaccion
                        Class.Transaction transaction = new Class.Transaction(1, idOrigen, idDestination, idEployee, date, float.Parse(quantityTextBox.Text), type, false);

                        //intentamos ingresar a la db
                        if (Class.Transaction.addTransaction(Connection.myConnection, transaction) == 1)
                        {
                            //cerramos conexion
                            Connection.CloseConnection();

                            MessageBox.Show("Se ha transferido el dinero");
                            this.Close();
                        }
                    }
                }
            }
        }