// Grabar los datos de la venta.
        public int grabar(Venta miVenta, IList <DetalleVenta> misDetalles, DatosFacturacion misDatos)
        {
            int registrosAfectados = 0;

            try
            {
                // Grabando cliente.
                var miDaoCliente = DAOCliente.crearDAO();
                registrosAfectados = miDaoCliente.agregar(miVenta);
                // grabando usuario.
                var miDaoUsuario = DAOUsuario.crearDAO();
                registrosAfectados = miDaoUsuario.agregar(miVenta);
                // Grabar el ejemplar.
                var miDaoEjemplar = DAOEjemplar.crearDAO();
                registrosAfectados = miDaoEjemplar.agregar(misDetalles);
                // Grabando venta.
                var miDaoVenta = DAOVenta.crearDAO();
                registrosAfectados = miDaoVenta.agregar(miVenta, misDetalles);
                // Grabando los datos de facturacion si corresponde el tipo de documento.
                if (miVenta.IdTipoDocumento == 2)
                {
                    var miDaoDatosFactura = DAODatosFacturacion.crearDAO();
                    registrosAfectados = miDaoDatosFactura.agregar(misDatos, miVenta.IdVenta);
                }
            }
            catch
            {
                throw;
            }
            return(registrosAfectados);
        }
示例#2
0
        public void cobrar()
        {
            bool exito = false;

            decimal cambio = 0;

            if (txt.Text == "")
            {
                exito = DAOVenta.venta(dg);
                if (exito)
                {
                    new Total().ShowDialog();
                }
                else
                {
                    MessageBox.Show("Error al procesar la venta", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txt.Focus();
                }
                this.DialogResult = DialogResult.Yes;
                this.Close();
            }
            else
            {
                Regex val = new Regex(@"^[0-9]+([.][0-9]+)?$");
                if (val.IsMatch(txt.Text))
                {
                    decimal recibido = decimal.Parse(txt.Text);
                    cambio = recibido - total;
                    if (cambio < 0)
                    {
                        MessageBox.Show("Debes pedir mas dinero", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txt.Focus();
                    }
                    else
                    {
                        //proceder al pago, mostrar cambio y cerrar
                        exito = DAOVenta.venta(dg);
                        if (exito)
                        {
                            new Total(cambio).ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("Error al procesar la venta", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            txt.Focus();
                        }
                        this.DialogResult = DialogResult.Yes;
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Valor no aceptado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txt.Focus();
                }
            }
        }