Beispiel #1
0
        //Insertar, Modifica y Elimina Venta (Procedimiento)
        #region Abm
        public int abmVenta(string pAccion, E_Venta objE_Venta)
        {
            int        Resultado = 0;
            SqlCommand cmd       = new SqlCommand("usp_Ventas_abmVentas", Conexion);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Accion", pAccion);
            cmd.Parameters.AddWithValue("@ventaId", objE_Venta.VentaId);
            cmd.Parameters.AddWithValue("@clienteId", objE_Venta.ClienteId.ClienteId);
            cmd.Parameters.AddWithValue("@fechaVenta", objE_Venta.FechaVenta);
            cmd.Parameters.AddWithValue("@numeroDocumento", objE_Venta.NumeroDocumento);
            cmd.Parameters.AddWithValue("@tipoDocumento", objE_Venta.TipoDocumento);

            try
            {
                AbrirConexion();
                Resultado = cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                throw new Exception("Error al tratar de almacenar, Borrar o Modificar datos de Ventas", e);
            }
            finally
            {
                CerrarConexion();
                cmd.Dispose();
            }
            return(Resultado);
        }
 //contructor
 public frmConfVenta(E_Venta venta, string frmSuperior)
 {
     InitializeComponent();
     _frmSuperior = frmSuperior;
     _venta       = venta;
     _idCliente   = 0;
 }
Beispiel #3
0
        static public void addVenta()
        {
            E_Venta        venta        = new E_Venta();
            E_DetalleVenta detalleVenta = new E_DetalleVenta();

            //cabecera de venta
            venta.anular              = false;
            venta.cliente.idCliente   = 1;  //consumidor final
            venta.codVenta            = 0;  // lo busco en la base de datos
            venta.condPago.idCondPago = 1;  //efectivo
            venta.cuit        = "26-3547123";
            venta.direccion   = "";
            venta.fecha       = DateTime.Now;       //fecha de hoy
            venta.observacion = "Realizado en test";
            //venta.usuario.idUsuario = 1;// Bonnetto
            venta.vendedor.idVendedor = 1;            // Eamnuel Bonetto
            //Detalle
            BD_Articulo bdAritculo = new BD_Articulo();
            //AGREGAR ARTICULO
            E_Articulo nvoArticulo = bdAritculo.getOne_Articulo("P1");

            detalleVenta.codArticulo    = nvoArticulo.codArticulo;
            detalleVenta.descripcion    = nvoArticulo.descripcion;
            detalleVenta.cantidad       = 1;
            detalleVenta.precioArticulo = detalleVenta.cantidad * nvoArticulo.precioFinal;

            Console.WriteLine("idCliente: " + venta.cliente.idCliente + " condPago: " + venta.condPago);
            Console.WriteLine("CUIT: " + venta.cuit + " Fecha de venta: " + venta.fecha.ToString());
            //Console.WriteLine("Observacion: " + venta.observacion + " idUsuario:  " + venta.usuario.idUsuario + " idVendedor "  + venta.vendedor.idVendedor);
            Console.WriteLine("----------------------------Detalle-----------------------------------");
            Console.WriteLine("codArticulo | Descripcion | descuento | cantidad | total ");
            Console.WriteLine(detalleVenta.codArticulo + " | " + detalleVenta.descripcion + "|" + 0 + " | " + detalleVenta.precioArticulo);
        }
Beispiel #4
0
        /// <summary>
        /// Permite abonar una venta con saldo
        /// </summary>
        /// <param name="venta"></param>
        /// <param name="abonadoActual"></param>
        /// <returns></returns>
        public Boolean abonar_Venta(E_Venta venta, decimal abonadoActual)
        {
            Boolean xConf = true;

            try
            {
                using (TransactionScope scope = new TransactionScope())                 // creo el objeto para relizar la trsasaccion
                {
                    cn.Open();

                    cmd = new SqlCommand("INSERT AbonarVenta (codVenta,fecAbonado,abonado) VALUES(@codVenta,@fecAbonado,@abonado)", cn);
                    cmd.Parameters.AddWithValue("@codVenta", venta.codVenta);
                    cmd.Parameters.AddWithValue("@fecAbonado", DateTime.Now.Date);
                    cmd.Parameters.AddWithValue("@abonado", abonadoActual);

                    cmd.ExecuteScalar();
                    scope.Complete();
                }
            }
            catch (Exception)
            {
                xConf = false;
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }
            return(xConf);
        }
Beispiel #5
0
        /// <summary>
        /// Permite obtener las ventas seleccionadas
        /// </summary>
        /// <returns></returns>
        private List <Entidades.E_Venta> getVentaSeleccionadas()
        {
            List <E_Venta> listVenta      = new List <E_Venta>();
            Boolean        VentasSinSaldo = false;

            foreach (DataGridViewRow row in dgVentas.Rows)
            {
                if (Convert.ToBoolean(row.Cells[colSelect.Name].Value) == true)
                {
                    E_Venta ventaCobrar = (E_Venta)row.DataBoundItem;

                    if (ventaCobrar.saldo > 0)
                    {
                        listVenta.Add(ventaCobrar);
                    }
                    else
                    {
                        VentasSinSaldo = true;
                    }
                }
            }

            if (VentasSinSaldo)
            {
                MessageBox.Show("Solo se van agregar las ventas que tengan saldo", "Ventas Sin Saldo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            return(listVenta);
        }
Beispiel #6
0
        /// <summary>
        /// Permite modificar una venta, y determina si le queda credito al cliente
        /// </summary>
        /// <returns></returns>
        public Boolean ModificarVenta(E_Venta venta)
        {
            BD_Venta bdVenta = new BD_Venta();

            bdVenta.Update_Venta(venta);
            //Si se pudo modifcar la venta le agrego el credito al cliente
            return(true);
        }
Beispiel #7
0
        private void btnAplicarRecargo_Click(object sender, EventArgs e)
        {
            dgDetalle.Enabled = true;

            if (btnAplicarRecargo.Text == "Aplicar &Recargo")
            {
                //coloca la celda de precio unitario en edicion
                colPrecio.ReadOnly = false;
                colPrecio.DefaultCellStyle.BackColor = Color.FromArgb(192, 255, 192);
                btnAplicarRecargo.Text = "Confirmar Recargo";
                //Desavilito los demas botones
                grSaldo.Enabled            = false;
                lblCancelarRecargo.Visible = true;
            }
            else
            {
                List <E_DetalleVenta> listDet = new List <E_DetalleVenta>();
                foreach (DataGridViewRow detRow in dgDetalle.Rows)
                {
                    E_DetalleVenta det = new E_DetalleVenta();

                    det.idDetalle      = Convert.ToInt64(detRow.Cells[colIdDetalle.Index].Value);
                    det.precioArticulo = Convert.ToDecimal(detRow.Cells[colPrecio.Index].Value);
                    det.precioTotal    = Convert.ToDecimal(detRow.Cells[colTotal.Index].Value);

                    listDet.Add(det);
                }

                E_Venta venta = new E_Venta();
                //habilito los botones
                grSaldo.Enabled = true;

                btnAplicarRecargo.Text = "Aplicar &Recargo";

                N_Venta nVenta     = new N_Venta();
                decimal totalVenta = calcularTotalVenta();
                Boolean xConf      = nVenta.aplicarRecargoVenta(listDet, totalVenta, _VentaConsultada.codVenta);

                if (xConf)
                {
                    consultarVenta();
                }
                else
                {
                    MessageBox.Show("Error");
                }
            }
            //################-------------NO BORRAR -------------########################
            //Puede servir en el futuro para cuando se quiera aplicar correctamente el recargo
            //decimal precioTotal = Convert.ToDecimal(txtTotalVenta.Text);
            //decimal recargo = Convert.ToDecimal(txtRecargo.Text);

            //frmAplicarRecargo frmAplRecargo = new frmAplicarRecargo(precioTotal-recargo,_VentaConsultada.codVenta);
            //frmAplRecargo.ShowDialog();
            //consultarVenta();
        }
Beispiel #8
0
 private void cargarGrillaDetVenta(E_Venta venta)
 {
     //dgDetalle.Rows.Clear();
     colCodArticulo.DataPropertyName = "codArticulo";
     colDescripcion.DataPropertyName = "descripcion";
     colCantidad.DataPropertyName    = "cantidad";
     colPrecio.DataPropertyName      = "precioArticulo";
     colTotal.DataPropertyName       = "precioTotal";
     //colStock.DataPropertyName = "stock";
     dgDetalle.AutoGenerateColumns = false;
     dgDetalle.DataSource          = venta.detalles;
 }
Beispiel #9
0
 public E_Venta GenerarCorrelativo(string Tipo)
 {
     try
     {
         E_Venta Venta  = new E_Venta();
         D_Venta Dventa = new D_Venta();
         Venta = Dventa.GenerarCorrelativo(Tipo);
         return(Venta);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #10
0
        public List <E_Venta> ListarVenta(String fechadesde, String fechahasta, int idSucursal)
        {
            SqlCommand     cmd   = null;
            List <E_Venta> Lista = null;
            SqlDataReader  dr    = null;

            try
            {
                SqlConnection cn = ConexionBD.Instancia.Conectar();
                cmd = new SqlCommand("spListaVenta", cn);
                cmd.Parameters.AddWithValue("@prmfinicio", fechadesde);
                cmd.Parameters.AddWithValue("@prmfin", fechahasta);
                cmd.Parameters.AddWithValue("@prmidsucursal", idSucursal);
                cmd.CommandType = CommandType.StoredProcedure;
                cn.Open();
                dr    = cmd.ExecuteReader();
                Lista = new List <E_Venta>();
                while (dr.Read())
                {
                    E_Venta v = new E_Venta();
                    v.Id_Venta          = Convert.ToInt32(dr["Id_Venta"]);
                    v.Codigo_Venta      = dr["Codigo_Venta"].ToString();
                    v.Estado_Venta      = dr["Estado_Venta"].ToString();
                    v.Correlativo_Venta = dr["Correlativo_Venta"].ToString();
                    v.FechaVenta        = Convert.ToDateTime(dr["FechaVenta"]);
                    v.Igv_Venta         = Convert.ToInt32(dr["Igv_Venta"]);
                    v.Total             = Convert.ToDouble(dr["Total"].ToString());
                    v.Descuento_Venta   = Convert.ToDouble(dr["Descuento_Venta"]);
                    v.Utilidad          = Convert.ToDouble(dr["Utilidad"]);
                    v.Inversion         = Convert.ToDouble(dr["Inversion"]);

                    E_Comprobante tc = new E_Comprobante();
                    tc.Id_TipCom      = Convert.ToInt32(dr["Id_TipCom"]);
                    tc.Nombre_TipCom  = dr["Nombre_TipCom"].ToString();
                    v.tipocomprobante = tc;

                    E_TipoPago tp = new E_TipoPago();
                    tp.Id_TipPago = Convert.ToInt32(dr["Id_TipPago"]);
                    v.tipopago    = tp;
                    Lista.Add(v);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally { cmd.Connection.Close(); }
            return(Lista);
        }
Beispiel #11
0
        public Boolean anular_Venta(E_Venta venta)
        {
            Boolean xResp = true;

            try
            {
                using (TransactionScope scope = new TransactionScope()) // creo el objeto para relizar la trsasaccion
                {
                    cn.Open();                                          //abro la conexion
                    //anular cabecera de la venta
                    string anularSql = "UPDATE Ventas SET anular = @anular WHERE codVenta = @codVenta";
                    cmd = new SqlCommand(anularSql, cn);
                    cmd.Parameters.AddWithValue("@anular", true);
                    cmd.Parameters.AddWithValue("@codVenta", venta.codVenta);

                    cmd.ExecuteScalar();
                    //crear el detalle de la venta
                    foreach (E_DetalleVenta detalle in venta.detalles)
                    {
                        //Suma el stock de la vanta anulada
                        Int32 stockActual = detalle.stockActual + detalle.cantidad;

                        //actualizar el campo del stock de la venta
                        string consSql = "UPDATE Articulos SET Articulos.stock = @stock where Articulos.codArticulo = @codArticulo";
                        cmd = new SqlCommand(consSql, cn);
                        cmd.Parameters.AddWithValue("@stock", stockActual);
                        cmd.Parameters.AddWithValue("@codArticulo", detalle.codArticulo);
                        cmd.ExecuteScalar();

                        //Elimino el stockArcticulo
                        string deleteSql = "DELETE FROM StockArticulo WHERE codVenta = @codVenta";
                        cmd = new SqlCommand(deleteSql, cn);
                        cmd.Parameters.AddWithValue("@codVenta", venta.codVenta);
                        cmd.ExecuteScalar();
                    }

                    // confirmar la trasaccionic
                    scope.Complete();
                }
            }
            catch (Exception e)
            {
                xResp = false;
            }
            finally
            {
            }
            return(xResp);
        }
Beispiel #12
0
        public Int64 addVenta(E_Venta venta, bool utilizaCredito = false)
        {
            BD_Venta bdVenta  = new BD_Venta();
            Int64    codVenta = bdVenta.add_Venta(venta);

            if (utilizaCredito)
            {
                venta.codVenta = codVenta;
                // Utilizar los creditos
                Negocio.N_NotasCredito nNotaCredito = new N_NotasCredito();
                nNotaCredito.UtilizarCredito(venta);
            }

            return(codVenta);
        }
Beispiel #13
0
        public void EliminarRegistro(E_Venta venta)
        {
            SqlCommand SqlCmd = new SqlCommand("SPELIMINAR_VENTA", conectar)
            {
                CommandType = CommandType.StoredProcedure
            };

            conectar.Open();

            SqlCmd.Parameters.AddWithValue("@VentaID", venta.VentaID);

            SqlCmd.ExecuteNonQuery();

            conectar.Close();
        }
Beispiel #14
0
        //Metodo Eliminar venta
        public void EliminarVenta(E_Venta Venta)
        {
            SqlCommand SqlCmd = new SqlCommand("sp_eliminar_venta", Conectar)
            {
                CommandType = CommandType.StoredProcedure
            };

            Conectar.Open();

            SqlCmd.Parameters.AddWithValue("@id_venta", Venta.Id_venta);

            SqlCmd.ExecuteNonQuery();

            Conectar.Close();
        }
Beispiel #15
0
        public List <E_Venta> getAll_Venta(DateTime fecDesde, DateTime fecHasta, string descripcionClie, string filtro)
        {
            List <E_Venta> ventas = new List <E_Venta>();

            try
            {
                cn.Open();
                cmd             = new SqlCommand("getAllVentas", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@fecDesde", fecDesde);
                cmd.Parameters.AddWithValue("@fecHasta", fecHasta);
                cmd.Parameters.AddWithValue("@descripcion", descripcionClie);
                cmd.Parameters.AddWithValue("@filtro", filtro);
                SqlDataReader oReader = cmd.ExecuteReader();

                while (oReader.Read())
                {
                    E_Venta venta = new E_Venta();

                    venta.codVenta             = Convert.ToInt64(oReader["codVenta"]);
                    venta.condPago.descripcion = oReader["pago"].ToString();
                    venta.cliente.descripcion  = oReader["cliente"].ToString();
                    venta.cliente.dni          = Convert.ToInt32(oReader["dni"]);
                    venta.fecha       = Convert.ToDateTime(oReader["fecVenta"]);
                    venta.precioTotal = Convert.ToDecimal(oReader["precioTotal"]);
                    venta.abonado     = Convert.ToDecimal(oReader["abonado"]);
                    venta.anular      = Convert.ToBoolean(oReader["anular"]);
                    //venta.creditoUtilizado = oReader["CreditoUtilizado"] != DBNull.Value ? Convert.ToDecimal( oReader["CreditoUtilizado"]): 0;


                    ventas.Add(venta);
                }
            }
            catch (Exception e)
            {
                ventas = null;
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }


            return(ventas);
        }
Beispiel #16
0
        public int GuardarVenta(E_Venta v, int id_tipdocventa, String serie)
        {
            try
            {
                if (v.cliente.Id_Cliente == 0)
                {
                    throw new ApplicationException("Debe tener un cliente seleccionado");
                }
                if (v.detalleventa.Count == 0)
                {
                    throw new ApplicationException("Debe selecionar como mínimo un producto");
                }

                String Cadxml = "";
                Cadxml += "<Tbl_Venta ";
                Cadxml += "idcliente='" + v.cliente.Id_Cliente + "' ";
                Cadxml += "idusuario='" + v.usuario.Id_Usuario + "' ";
                Cadxml += "idsucursal='" + v.sucursal.Id_Suc + "' ";
                Cadxml += "istipcom='" + v.tipocomprobante.Id_TipCom + "' ";
                Cadxml += "idmoneda='" + v.moneda.Id_Moneda + "' ";
                Cadxml += "idtipopago='" + v.tipopago.Id_TipPago + "' ";
                Cadxml += "igv='" + v.Igv_Venta + "' ";
                Cadxml += "serie='" + serie + "' ";
                Cadxml += "descuento='" + v.Descuento_Venta.ToString().Replace(",", ".") + "' ";
                Cadxml += "descripcion='" + v.Desc_Venta.ToString() + "'>";

                foreach (E_DetalleVenta dt in v.detalleventa)
                {
                    Cadxml += "<Tbl_DetalleVenta ";
                    Cadxml += "idproducto='" + dt.Id_Prod_Det + "' ";
                    Cadxml += "precioprod='" + dt.PrecProd_Det.ToString().Replace(",", ".") + "' ";
                    Cadxml += "cantidad='" + dt.Cantidad_Det + "'/>";
                }
                Cadxml += "</Tbl_Venta>";
                Cadxml  = "<root>" + Cadxml + "</root>";
                int i = CD_Venta.Instancia.GuardarVenta(Cadxml, id_tipdocventa);
                if (i <= 0)
                {
                    throw new ApplicationException("Ocurrio un erro al guardar venta actual");
                }
                return(i);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #17
0
        public void InsertarRegistro(E_Venta venta)
        {
            SqlCommand SqlCmd = new SqlCommand("SPINSERTAR_VENTA", conectar)
            {
                CommandType = CommandType.StoredProcedure
            };

            conectar.Open();

            SqlCmd.Parameters.AddWithValue("@ClienteDNI", venta.DNICliente);
            SqlCmd.Parameters.AddWithValue("@Fecha", venta.Fecha);
            SqlCmd.Parameters.AddWithValue("@Precio", venta.Precio);

            SqlCmd.ExecuteNonQuery();

            conectar.Close();
        }
Beispiel #18
0
 public E_Venta  VentaDetalle(int id_venta)
 {
     try
     {
         E_Venta v = CD_Venta.Instancia.LstVentaDetalle(id_venta);
         if (v == null)
         {
             throw new ApplicationException("Ocurrio un error al tratar de mostrar detalle");
         }
         //else if (v.detalleventa.Count == 0 || v.detalleventa == null) { throw new ApplicationException("No se encontraron items");return v; }
         return(v);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #19
0
        public void EditarRegistro(E_Venta venta)
        {
            SqlCommand SqlCmd = new SqlCommand("SPEDITAR_VENTA", conectar)
            {
                CommandType = CommandType.StoredProcedure
            };

            conectar.Open();

            SqlCmd.Parameters.AddWithValue("@VentaID", venta.VentaID);
            SqlCmd.Parameters.AddWithValue("@AgenteDeInmobiliariaID", venta.AgenteDeInmobiliariaID);
            SqlCmd.Parameters.AddWithValue("@Fecha", venta.Fecha);
            SqlCmd.Parameters.AddWithValue("@Precio", venta.Precio);

            SqlCmd.ExecuteNonQuery();

            conectar.Close();
        }
Beispiel #20
0
        private void FrmVenta_Load(object sender, EventArgs e)
        {
            Creartabla();
            try
            {
                cbTipoComprobante.SelectedIndex = 0;
                string  Tipo    = cbTipoComprobante.Text.ToUpper();
                N_Venta Negocio = new N_Venta();
                E_Venta Venta   = new E_Venta();
                Venta = Negocio.GenerarCorrelativo(Tipo);

                txtSerie.Text       = Venta.Serie;
                txtCorrelativo.Text = Venta.Correlativo;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #21
0
        //Metodo insertar
        public static string InsertarVenta(E_Venta Venta, DataTable DTDetalleIngreso)
        {
            D_Venta ObjVenta = new D_Venta();
            List <E_Detalle_Venta> detalles = new List <E_Detalle_Venta>();

            foreach (DataRow row in DTDetalleIngreso.Rows)
            {
                E_Detalle_Venta e_Detalle_Ingreso = new E_Detalle_Venta()
                {
                    Id_detalle_ingreso = Convert.ToInt32(row["id_detalle_ingreso"].ToString()),
                    Cantidad           = Convert.ToInt32(row["cantidad"].ToString()),
                    Precio_venta       = Convert.ToDecimal(row["precio_venta"].ToString()),
                    Descuento          = Convert.ToDecimal(row["descuento"].ToString()),
                };

                detalles.Add(e_Detalle_Ingreso);
            }
            return(ObjVenta.InsertarVentas(Venta, detalles));
        }
Beispiel #22
0
        }        //getAll_Clientes

        public List <E_Venta> getOne_ResumenCta(Int64 idCliente, string filtro)
        {
            List <E_Venta> listVentas = new List <E_Venta>();

            try
            {
                cn.Open();
                cmd             = new SqlCommand("getOneResumenCta", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@idCliente", idCliente);
                cmd.Parameters.AddWithValue("@filtro", filtro);
                SqlDataReader oReader = cmd.ExecuteReader();

                while (oReader.Read())
                {
                    E_Venta venta = new E_Venta();
                    venta.codVenta    = Convert.ToInt64(oReader["codVenta"]);
                    venta.fecha       = Convert.ToDateTime(oReader["fecVenta"]);
                    venta.cantidadArt = Convert.ToInt32(oReader["cantidadArt"]);
                    venta.precioTotal = Convert.ToDecimal(oReader["precioTotal"]);
                    venta.abonado     = Convert.ToDecimal(oReader["entrega"]);

                    listVentas.Add(venta);
                }
            }
            catch (Exception)
            {
                listVentas = null;
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }
            return(listVentas);
        }        //getOneCliente
Beispiel #23
0
 public void EditarRegistro(E_Venta venta)
 {
     ObjVenta.EditarRegistro(venta);
 }
Beispiel #24
0
 public void InsertarRegistro(E_Venta venta)
 {
     ObjVenta.InsertarRegistro(venta);
 }
Beispiel #25
0
 public frmAbonado(E_Venta venta)
 {
     InitializeComponent();
     _ventaAbonar = venta;
     cargar();
 }
 private void CargarDetalle(E_Venta venta)
 {
 }
Beispiel #27
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult r = MessageBox.Show("¿Desea guardar Boleta?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (r == DialogResult.Yes)
                {
                    SoloNumCeldaGrid();
                    EscribirNuevoMonto();
                    ActualizarMontosDgv();
                    E_Venta v = new E_Venta();

                    E_cliente c = new E_cliente();
                    c.Id_Cliente = LOCAL.Instancia.ReturnIdCliente(0, 0);
                    v.cliente    = c;

                    E_usuario u = new E_usuario();
                    u         = us;
                    v.usuario = u;

                    E_Sucursal s = new E_Sucursal();
                    s.Id_Suc   = LOCAL.Instancia.Id_Suc;
                    v.sucursal = s;

                    E_Comprobante tc = new E_Comprobante();
                    tc.Id_TipCom      = 1;
                    v.tipocomprobante = tc;

                    E_Moneda m = new E_Moneda();
                    m.Id_Moneda = Convert.ToInt32(CboMoneda.SelectedValue);
                    v.moneda    = m;

                    E_TipoPago tp = new E_TipoPago();
                    tp.Id_TipPago = Convert.ToInt32(cboTipoPago.SelectedValue);
                    v.tipopago    = tp;

                    v.Igv_Venta       = 0;
                    v.Descuento_Venta = 0.0;

                    List <E_DetalleVenta> Detalle = new List <E_DetalleVenta>();
                    foreach (DataGridViewRow row in dgvDetalleBoleta.Rows)
                    {
                        E_DetalleVenta dt = new E_DetalleVenta();
                        dt.Id_Prod_Det  = Convert.ToInt32(row.Cells[0].Value);
                        dt.PrecProd_Det = Convert.ToDouble(row.Cells[3].Value);
                        dt.Cantidad_Det = Convert.ToInt32(row.Cells[2].Value);
                        Detalle.Add(dt);
                    }
                    v.detalleventa = Detalle;
                    v.Desc_Venta   = "";
                    CargarSerie_correlativo();
                    int result = CN_Venta.Intancia.GuardarVenta(v, 1, serie.Numero_Serie);
                    MessageBox.Show("Se guardo de manera correcta!", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dgvDetalleBoleta.Enabled = false; ControlBotones(true, false, false, false); btnAgregarItem.Enabled = false; btnAnular.Enabled = true;
                    ac.BloquearText(this.gbCliente, false); ac.BloquearText(this.panel1, false);
                    lblMontoEnletras.Text = "Son: " + ac.enletras(txtTotal.Text).ToLower() + CboMoneda.Text;
                }
            }
            catch (ApplicationException ae) { MessageBox.Show(ae.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #28
0
        public E_Venta  LstVentaDetalle(int id_venta)
        {
            SqlCommand            cmd = null;
            IDataReader           idr = null;
            E_Venta               v   = null;
            List <E_DetalleVenta> det = null;

            try
            {
                SqlConnection cn = ConexionBD.Instancia.Conectar();
                cmd = new SqlCommand("spMostrarCabeceraVenta", cn);
                cmd.Parameters.AddWithValue("@prmid_venta", id_venta);
                cmd.CommandType = CommandType.StoredProcedure;
                cn.Open();
                idr = cmd.ExecuteReader();
                if (idr.Read())
                {
                    v = new E_Venta();
                    v.Codigo_Venta      = idr["Codigo_Venta"].ToString();
                    v.Serie_Venta       = Convert.ToInt32(idr["Serie_Venta"].ToString());
                    v.Correlativo_Venta = idr["Correlativo_Venta"].ToString();
                    v.Igv_Venta         = Convert.ToInt32(idr["Igv_Venta"]);
                    v.FechaVenta        = Convert.ToDateTime(idr["FechaVenta"]);
                    v.Estado_Venta      = idr["Estado_Venta"].ToString();
                    v.Descuento_Venta   = Convert.ToDouble(idr["Descuento_Venta"]);
                    v.Desc_Venta        = idr["Desc_Venta"].ToString();

                    E_cliente c = new E_cliente();
                    c.Nombre_Cliente    = idr["Nombre_Cliente"].ToString();
                    c.NumeroDoc_Cliente = idr["NumeroDoc_Cliente"].ToString();

                    E_TipoDoc td = new E_TipoDoc();
                    td.Nombre_TipDoc = idr["Nombre_TipDoc"].ToString();
                    c.tipodocumento  = td;
                    v.cliente        = c;

                    E_Sucursal s = new E_Sucursal();
                    s.Direccion_Suc = idr["Direccion_Suc"].ToString();
                    v.sucursal      = s;

                    E_usuario u = new E_usuario();
                    u.Nombre_Usuario = idr["Nombre_Usuario"].ToString();
                    v.usuario        = u;

                    E_Comprobante tc = new E_Comprobante();
                    tc.Nombre_TipCom  = idr["Nombre_TipCom"].ToString();
                    v.tipocomprobante = tc;

                    E_Moneda m = new E_Moneda();
                    m.Descripcion_Moneda = idr["Descripcion_Moneda"].ToString();
                    v.moneda             = m;

                    E_TipoPago tp = new E_TipoPago();
                    tp.Descripcion_TipPago = idr["Descripcion_TipPago"].ToString();
                    v.tipopago             = tp;

                    if (idr.NextResult())
                    {
                        det = new List <E_DetalleVenta>();
                        while (idr.Read())
                        {
                            E_DetalleVenta d = new E_DetalleVenta();
                            d.PrecProd_Det = Convert.ToDouble(idr["PrecProd_Det"]);
                            d.Cantidad_Det = Convert.ToInt32(idr["Cantidad_Det"]);
                            E_Producto p = new E_Producto();
                            p.Codigo_Prod = idr["Codigo_Prod"].ToString();
                            p.Nombre_Prod = idr["Nombre_Prod"].ToString();
                            p.Precio_Prod = Convert.ToDouble(idr["Precio_Prod"]);
                            d.producto    = p;
                            det.Add(d);
                        }
                        v.detalleventa = det;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally { cmd.Connection.Close(); }
            return(v);
        }
Beispiel #29
0
        //------Metodo para generar correlativo
        public E_Venta GenerarCorrelativo(string Tipo)
        {
            E_Venta Venta = new E_Venta();

            try
            {
                SqlCommand SqlCmd = new SqlCommand("sp_generar_serie_correlativo", Conectar)
                {
                    CommandType = CommandType.StoredProcedure
                };

                Conectar.Open();

                SqlCmd.Parameters.AddWithValue("@tipo", Tipo);

                SqlDataReader LeerFilas = SqlCmd.ExecuteReader();
                if (LeerFilas.HasRows)
                {
                    while (LeerFilas.Read())
                    {
                        int serie  = Convert.ToInt32(LeerFilas["Serie"]);
                        int Numero = Convert.ToInt32(LeerFilas["Correlativo"]);

                        if (Numero == 0)
                        {
                            //--Es el primer comprobante
                            Numero = 1;
                            serie  = 1;
                        }
                        else if (Numero > 9999999)
                        {
                            //--Se reinicia el correlativo a 1 a la serie aumenta 1
                            Numero = 1;
                            serie++;
                        }
                        else
                        {
                            Numero++;
                        }
                        //--Transformar la serie y numero a string con ceros a la izquierda
                        int longitudSerie  = 4;
                        int logintudNumero = 7;

                        string diCerosSerie = new string('0', longitudSerie - serie.ToString().Length);
                        Venta.Serie = diCerosSerie + serie.ToString();

                        string diCerosNumero = new string('0', logintudNumero - Numero.ToString().Length);
                        Venta.Correlativo = diCerosNumero + Numero.ToString();

                        //E_Datos_Login.Id_empleado = LeerFilas.GetInt32(0);
                        //E_Datos_Login.Nombre = LeerFilas.GetString(1);
                        //E_Datos_Login.Apellido = LeerFilas.GetString(2);
                        //E_Datos_Login.Acceso = LeerFilas.GetString(3);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                Conectar.Close();
            }
            return(Venta);
        }
Beispiel #30
0
        //Metodo insertar ventas
        public string InsertarVentas(E_Venta Ventas, List <E_Detalle_Venta> DetallesVestas)
        {
            string Rpta;

            try
            {
                Conectar.Open();
                SqlTransaction transaccion = Conectar.BeginTransaction();

                SqlCommand SqlCmd = new SqlCommand
                {
                    Connection  = Conectar,
                    Transaction = transaccion,
                    CommandText = "sp_insertar_venta",
                    CommandType = CommandType.StoredProcedure
                };

                SqlParameter ParIdVenta = new SqlParameter
                {
                    ParameterName = "@id_venta",
                    SqlDbType     = SqlDbType.Int,
                    Direction     = ParameterDirection.Output
                };
                SqlCmd.Parameters.Add(ParIdVenta);

                SqlCmd.Parameters.AddWithValue("@id_empleado", Ventas.Id_empleado);
                SqlCmd.Parameters.AddWithValue("@fecha", Ventas.Fecha);
                SqlCmd.Parameters.AddWithValue("@tipo_comprobante", Ventas.Tipo_comprobante);
                SqlCmd.Parameters.AddWithValue("@serie", Ventas.Serie);
                SqlCmd.Parameters.AddWithValue("@correlativo", Ventas.Correlativo);
                SqlCmd.Parameters.AddWithValue("@iva", Ventas.Iva);
                SqlCmd.Parameters.AddWithValue("@cliente", Ventas.Cliente);

                Rpta = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "No se registro la venta";

                if (Rpta.Equals("OK"))
                {
                    Ventas.Id_venta = Convert.ToInt32(SqlCmd.Parameters["@id_venta"].Value);
                    foreach (E_Detalle_Venta det in DetallesVestas)
                    {
                        det.Id_venta = Ventas.Id_venta;

                        Rpta = d_Detalle_Venta.InsertarDetalleVenta(det, ref Conectar, ref transaccion);

                        if (!Rpta.Equals("OK"))
                        {
                            break;
                        }
                        //else if(Rpta.Equals("OK"))
                        //{
                        //    ////ACTUALIZAR STOCK
                        //    Rpta = DisminuirStock(det.Id_detalle_ingreso, det.Cantidad);
                        //    if (!Rpta.Equals("OK"))
                        //    {
                        //        break;
                        //    }
                        //}
                    }
                }
                if (Rpta.Equals("OK"))
                {
                    transaccion.Commit();
                }
                else
                {
                    transaccion.Rollback();
                }
            }
            catch (Exception ex)
            {
                Rpta = ex.Message + ex.StackTrace;
            }
            finally
            {
                if (Conectar.State == ConnectionState.Open)
                {
                    Conectar.Close();
                }
            }
            return(Rpta);
        }