//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; }
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); }
/// <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); }
/// <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); }
/// <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); }
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(); }
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; }
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; } }
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); }
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); }
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); }
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(); }
//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(); }
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); }
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; } }
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(); }
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; } }
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(); }
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); } }
//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)); }
} //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
public void EditarRegistro(E_Venta venta) { ObjVenta.EditarRegistro(venta); }
public void InsertarRegistro(E_Venta venta) { ObjVenta.InsertarRegistro(venta); }
public frmAbonado(E_Venta venta) { InitializeComponent(); _ventaAbonar = venta; cargar(); }
private void CargarDetalle(E_Venta venta) { }
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); } }
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); }
//------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); }
//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); }