Example #1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (CombosValidos())
            {
                var confirmacion = MessageBox.Show("Guardar Factura?", "Los Cambios no se pueden deshacer!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (confirmacion.Equals(DialogResult.Yes))
                {
                    try
                    {
                        //Obtiendo el encabezado de la transaccion
                        int      id_cajero   = MainContainer.sesion.Personas.Id_persona;
                        int      id_vehiculo = ((Vehiculo)cboVehiculo.SelectedItem).Id_Vehiculo;
                        DateTime Fecha       = dtFecha.Value.Date;
                        //Insertando la transaccion
                        int i = TransaccionController.agregar(id_cajero, id_vehiculo, Fecha, true);
                        //Si la transaccion tuvo exito
                        if (i > 0)
                        {
                            int t = 0;
                            //Obtiendo el utimo id de la transaccion
                            int     idTransaccion = TransaccionController.getUltima().IdTransaccion;
                            decimal ing           = 0;
                            decimal eg            = 0;
                            for (int j = 0; j < dgvEgresos.Rows.Count; j++)
                            {
                                int    TipoDetalle   = (int)dgvEgresos.Rows[j].Cells[0].Value;
                                string Descripcion   = (string)dgvEgresos.Rows[j].Cells[2].Value;
                                string tipo          = dgvEgresos.Rows[j].Cells[3].Value.ToString();
                                int    tpTransaccion = 0; //Egreso
                                if (tipo.Equals("INGRESO"))
                                {
                                    tpTransaccion = 1;
                                }
                                else if (tipo.Equals("CREDITO"))
                                {
                                    tpTransaccion = 2;
                                }

                                decimal monto = (decimal)dgvEgresos.Rows[j].Cells[4].Value;

                                t = DetalleController.agregar(idTransaccion, TipoDetalle, Descripcion, monto, tpTransaccion, true);
                                float dec = Convert.ToSingle(monto);

                                if (tipo == "INGRESO")
                                {
                                    ing += monto;
                                }

                                else if (tipo.Equals("EGRESO"))
                                {
                                    eg += monto;
                                }
                                totalFactura = 0;
                            }
                            if (t == 0) //Si no se registraron transacciones
                            {
                                throw new Exception("No se registraron las transacciones de Entrada/Salida!");
                            }
                            else
                            {
                                decimal total = ing - eg;
                                MessageBox.Show("Se ha insertado la transacion", "Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                ImprimirTicket(idTransaccion, MainContainer.sesion.ToString(), ((Vehiculo)cboVehiculo.SelectedItem).Placa, total, ing, eg);
                                LimpiarControles();
                            }
                        }
                        else
                        {
                            throw new Exception("No se pudo insertar la transaccion");
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("Todos los campos son requeridos!", "Faltan campos por completar", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Example #2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            //Validar Selecciones
            bool txts, cbos;

            txts = TextosValidos();
            cbos = CombosValidos();
            //fechas = FechasValidas();
            if (txts && cbos)
            {
                try
                {
                    //Obtencion de la informacion para registrar una carrera
                    int      id_cajero    = MainContainer.sesion.Personas.Id_persona;
                    int      id_conductor = ((Conductor)cboConductor.SelectedItem).Id_conductor;
                    int      id_vehiculo  = ((Vehiculo)cboVehiculo.SelectedItem).Id_Vehiculo;
                    DateTime Fecha        = dtFecha.Value.Date;
                    TimeSpan salida       = dtSalida.Value.TimeOfDay;
                    TimeSpan llegada      = dtLlegada.Value.TimeOfDay;
                    bool     vuelta       = cbVueltaCompleta.Checked;
                    //Agregando Transaccion
                    int t = TransaccionController.agregar(id_cajero, id_vehiculo, Fecha, true);
                    //Comprobamos que se haya insertado la transaccion
                    if (t > 0)
                    {
                        //Obtenemos el id de la ultima transaccion
                        int idTransaccion = TransaccionController.getUltima().IdTransaccion;
                        t = CarreraController.Agregar(idTransaccion, id_vehiculo, id_conductor, salida, llegada, Fecha, vuelta);
                        //Si se inserto correctamente la carrera, procedemos a ingresar los gastos
                        if (t > 0)
                        {
                            t = 0;
                            decimal ingreso = Decimal.Parse(QuitarEspacios(txtIngreso.Text));
                            //Registrando Ingreso
                            t = DetalleController.agregar(idTransaccion, TipoDetalleController.leer("CICLO").IdTipoDetalle, "CICLO", ingreso, 0, true);
                            //Verificando y registrando los egresos
                            decimal totalEgreso = 0;
                            if (dgvEgresos.Rows.Count > 0) // Si hay egresos
                            {
                                for (int j = 0; j < dgvEgresos.RowCount; j++)
                                {
                                    int     id_egreso   = (int)dgvEgresos.Rows[j].Cells[0].Value;
                                    string  descripcion = dgvEgresos.Rows[j].Cells[2].Value.ToString();
                                    decimal monto       = (decimal)dgvEgresos.Rows[j].Cells[3].Value;
                                    totalEgreso += monto;
                                    t           += DetalleController.agregar(idTransaccion, id_egreso, descripcion, monto, 1, true);
                                }
                            }
                            if (t == 0) //Si no se registraron transacciones
                            {
                                throw new Exception("No se registraron las transacciones de Entrada/Salida!");
                            }
                            //Se imprime la factura
                            else
                            {
                                var result = MessageBox.Show("Imprimir factura?", "Confirme Impresion", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                                if (result.Equals(DialogResult.Yes))
                                {
                                    var ultima = CarreraController.getUltima();
                                    //var cond = ConductorController.leer(ultima.Id_conductor);
                                    //Creando instancia de reporte
                                    TicketFisicoForm ticket = new TicketFisicoForm(
                                        CapaControlador.TransaccionController.getUltima().IdTransaccion,
                                        ultima.FechaCarrera.ToShortDateString(),
                                        MainContainer.sesion.ToString(),
                                        ultima.Vehiculo.Placa,
                                        ultima.Vehiculo.Socio.ToString(),
                                        cboConductor.SelectedItem.ToString(),
                                        ingreso,
                                        totalEgreso,
                                        (ingreso - totalEgreso)
                                        );
                                    ticket.ShowDialog();
                                }
                                limpiarControles();
                                actualizarNoFactura();
                            }
                        }
                        else
                        {
                            throw new Exception("No se Completo el registro de la carrera");
                        }
                    }
                    else
                    {
                        throw new Exception("No se Ingreso la carrera");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show("Todos los campos son requeridos!", "Faltan campos por completar", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }