/////////////////////////////////////////////////////////////////////////////////////////////////////////////// public frodriguezDataSet1 M_listar_ProductosStock() { SqlConnection con = null; // para conectarme a mi BD. SqlDataAdapter adapter = new SqlDataAdapter(); frodriguezDataSet1 ds = new frodriguezDataSet1(); try { con = UConnection.getConnection(); con.Open(); string sql = @" SELECT categoriapro, nombrepro, stockpro, diseño, material, tamaño FROM [dbo].[producto] where stockpro <=5 "; SqlCommand cmd = new SqlCommand(sql, con); adapter.SelectCommand = cmd; adapter.Fill(ds, "reporteStockProductos"); } catch (Exception) { throw; } finally { con.Close(); } return(ds); }
/////////////////////////////////////////////// public Int32 M_Eliminar_Producto(Int16 idProducto) { Int32 result = 0; // retorno de mi metodo insertar SqlConnection con = null; // para conectarme a mi BD. try { // apunta a la conexion de mi BD (direccion, BD, user,clave,) con = UConnection.getConnection(); // abrimos la coneccion a la BD con.Open(); // procedimiento almacenado para insertar cliente string sql = "sp_producto_eliminar"; // creamos un objeto comando para ejecutar el Procedimiento a. SqlCommand cmd = new SqlCommand(sql, con); //definir que estamos trabajando con procedimiento almacenados cmd.CommandType = CommandType.StoredProcedure; // pasar los parametros a mi procedimiento almacenado // parametros de entrada cmd.Parameters.Add("@idproducto", SqlDbType.SmallInt).Value = idProducto; //---ejecutar el comando result = cmd.ExecuteNonQuery(); } catch (Exception ex) { //el flujo del codigo //entra a este bloque si //es que hay una excepcion Logger log = new Logger(); log.setException(ex); //throw new Exception("Error al acceder a la BD"); if (ex.Message.Contains("R_6")) { throw new Exception("Este producto no puede ser elimindano, por que esta registrado en una venta"); } else { throw; } } finally { //--flujo del codigo SIEMPRE // para por este bloque con.Close(); } return(result); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public Empleado M_buscarPorId_empleado(Int16 idEmpleado) { Empleado empleado = new Empleado();; // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_empleado_buscar_por_id"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@idempleado", SqlDbType.SmallInt).Value = idEmpleado; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { empleado.Idempleado = Convert.ToInt16(reader["idempleado"]); empleado.Nombre = Convert.ToString(reader["nombree"]); empleado.Direccion = Convert.ToString(reader["direccione"]); empleado.Apellido = Convert.ToString(reader["apellidoe"]); empleado.Cargo = Convert.ToString(reader["cargoe"]); empleado.Telefono = Convert.ToString(reader["telefonoe"]); empleado.Dni = Convert.ToString(reader["DNI"]); empleado.Fechanacimiento = Convert.ToDateTime(reader["fechanacimiento"]); empleado.Fechaentrada = Convert.ToDateTime(reader["fechaentrada"]); // empleado.Contraseña = Convert.ToString(reader["contraseña"]); } } } catch (Exception ex) { //el flujo del codigo //entra a este bloque si //es que hay una excepcion Logger log = new Logger(); log.setException(ex); throw; } finally { //--flujo del codigo SIEMPRE // para por este bloque con.Close(); } return(empleado); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public bool M_validar_empleado(Empleado empleado) { bool resp = false; SqlConnection con = null; try { con = UConnection.getConnection(); con.Open(); string sql = "sp_empleado_validar_empleado"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "SELECT* FROM sp_empleado_validar_empleado WHERE user = @dni"; cmd.Parameters.Add("@dni", SqlDbType.VarChar, 8).Value = empleado.Dni; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { string claveAlmacenada = ""; while (reader.Read()) { empleado.Dni = Convert.ToString(reader["DNI"]); empleado.Idempleado = Convert.ToInt16(reader["idempleado"]); empleado.Nombre = Convert.ToString(reader["nombree"]); empleado.Apellido = Convert.ToString(reader["apellidoe"]); claveAlmacenada = Convert.ToString(reader["contrasenia"]); empleado.Telefono = Convert.ToString(reader["telefonoe"]); empleado.Fechanacimiento = Convert.ToDateTime(reader["fechanacimiento"]); empleado.Fechaentrada = Convert.ToDateTime(reader["fechaentrada"]); empleado.Direccion = Convert.ToString(reader["direccione"]); empleado.Cargo = Convert.ToString(reader["cargoe"]); } resp = BCrypt.Net.BCrypt.Verify(empleado.Contraseña, claveAlmacenada); } } catch (Exception) { throw; } finally { con.Close(); } return(resp); }
////////////////////////////////////////////// public frodriguezDataSet1 M_Top_ProductosPorFechas(DateTime fechaIni, DateTime fechaFin) { SqlConnection con = null; // para conectarme a mi BD. SqlDataAdapter adapter = new SqlDataAdapter(); frodriguezDataSet1 ds = new frodriguezDataSet1(); try { con = UConnection.getConnection(); con.Open(); string sql = @" SELECT top 10 producto.idproducto as id, producto.nombrepro as nombre, producto.diseño as diseño, producto.material as material, producto.categoriapro as categoria, producto.color as color, sum(ventadetalle.cantidad)as cantidad FROM [dbo].[producto] INNER JOIN [dbo].[ventadetalle] ON ventadetalle.idproducto= producto.idproducto inner join venta v on v.idventa = ventadetalle.idventa WHERE v.fechaventa BETWEEN @fechaIni AND @fechaFin group by producto.idproducto,producto.nombrepro,producto.diseño,producto.material,producto.categoriapro,producto.color ORDER BY cantidad DESC "; SqlCommand cmd = new SqlCommand(sql, con); cmd.Parameters.Add("@fechaini", SqlDbType.DateTime).Value = fechaIni; cmd.Parameters.Add("@fechafin", SqlDbType.DateTime).Value = fechaFin; adapter.SelectCommand = cmd; adapter.Fill(ds, "reporteTopProductos"); } catch (Exception) { throw; } finally { con.Close(); } return(ds); }
////////////////////////////////////////////// public frodriguezDataSet1 M_listar_ClientesNatural(DateTime fechaIni, DateTime fechaFin) { SqlConnection con = null; // para conectarme a mi BD. SqlDataAdapter adapter = new SqlDataAdapter(); frodriguezDataSet1 ds = new frodriguezDataSet1(); try { con = UConnection.getConnection(); con.Open(); string sql = @" Select cliente.idcliente as id, cliente.DNIc as dni, cliente.nombrec as nombre, cliente.apellidoc as apellidos, cliente.direccion as direccion, cliente.telefonoc as telefono from [dbo].[cliente] inner join [dbo].[venta] on cliente.idcliente = venta.idcliente WHERE venta.fechaventa BETWEEN @fechaIni AND @fechaFin and cliente.DNIc <> '' GROUP BY cliente.idcliente, cliente.DNIc, cliente.nombrec, cliente.apellidoc, cliente.direccion, cliente.telefonoc, cliente.correoc "; SqlCommand cmd = new SqlCommand(sql, con); cmd.Parameters.Add("@fechaini", SqlDbType.DateTime).Value = fechaIni; cmd.Parameters.Add("@fechafin", SqlDbType.DateTime).Value = fechaFin; adapter.SelectCommand = cmd; adapter.Fill(ds, "reporteClientesNatural"); } catch (Exception) { throw; } finally { con.Close(); } return(ds); }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public Cliente M_buscarPorId_cliente(Int16 idCliente) { Cliente cliente = new Cliente();; // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_cliente_buscar_por_id"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@idcliente", SqlDbType.SmallInt).Value = idCliente; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { cliente.Idcliente = Convert.ToInt16(reader["idcliente"]); cliente.Dni = Convert.ToString(reader["DNIc"]); cliente.Nombre = Convert.ToString(reader["nombrec"]); cliente.Apellido = Convert.ToString(reader["apellidoc"]); cliente.Direccion = Convert.ToString(reader["direccion"]); cliente.Telefono = Convert.ToString(reader["telefonoc"]); cliente.Correo = Convert.ToString(reader["correoc"]); cliente.Ruc = Convert.ToString(reader["ruc"]); cliente.Razonsocial = Convert.ToString(reader["razonsocial"]); } } } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw new Exception("Error al acceder a la BD"); } finally { con.Close(); } return(cliente); }
//////////////////////////////////// public List <Venta> M_BoletaBuscar_PorNombreCliente(string nombre) { List <Venta> ventas = new List <Venta>(); // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try{ con = UConnection.getConnection(); con.Open(); string sql = "sp_boleta_buscar_por_nombre_cliente"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@nombre", SqlDbType.DateTime).Value = nombre; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Venta venta = new Venta(); venta.IdVenta = Convert.ToInt16(reader["idventa"]); venta.Comprobante = Convert.ToString(reader["comprobante"]); //venta.Cliente.Idcliente = Convert.ToInt16(reader["idcliente"]); venta.FechaVenta = Convert.ToDateTime(reader["fechaventa"]); //venta.Telefono = Convert.ToString(reader["telefonoc"]); //venta.Correo = Convert.ToString(reader["correoc"]); ventas.Add(venta); } } } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw new Exception(); } finally { con.Close(); } return(ventas); }
public List <Producto> M_ListaTopProductos_Fechas(DateTime fechaIni, DateTime fechaFin) { List <Producto> productos = new List <Producto>(); // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_producto_top_entre_fechas"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@parFechaDeRegistroDesde", SqlDbType.DateTime).Value = fechaIni; cmd.Parameters.AddWithValue("@parFechaDeRegistroHasta", SqlDbType.DateTime).Value = fechaFin; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Producto producto = new Producto(); producto.Idproducto = Convert.ToInt16(reader["idproducto"]); producto.Nombre = Convert.ToString(reader["nombrepro"]); producto.Diseño = Convert.ToString(reader["diseño"]); producto.Material = Convert.ToString(reader["material"]); producto.Categoria = Convert.ToString(reader["categoriapro"]); producto.Color = Convert.ToString(reader["color"]); producto.Cantidad = Convert.ToInt32(reader["cantidad"]); productos.Add(producto); } } } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw new Exception("Error al acceder a la BD"); } finally { con.Close(); } return(productos); }
//////////////////////////////////// public List <Cliente> M_Buscar_clienteEmpresa(DateTime fechaIni, DateTime fechaFin) { List <Cliente> clientes = new List <Cliente>(); // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_cliente_listar_entre_fechas_empresa"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@parFechaDeRegistroDesde", SqlDbType.DateTime).Value = fechaIni; cmd.Parameters.AddWithValue("@parFechaDeRegistroHasta", SqlDbType.DateTime).Value = fechaFin; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Cliente cliente = new Cliente(); cliente.Idcliente = Convert.ToInt16(reader["idcliente"]); cliente.Ruc = Convert.ToString(reader["ruc"]); cliente.Razonsocial = Convert.ToString(reader["razonsocial"]); cliente.Direccion = Convert.ToString(reader["direccion"]); cliente.Telefono = Convert.ToString(reader["telefonoc"]); cliente.Correo = Convert.ToString(reader["correoc"]); clientes.Add(cliente); } } } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw new Exception("Error al acceder a la BD"); } finally { con.Close(); } return(clientes); }
//////////////////////////////////// public List <Venta> M_FacturaBuscar_PorRazonSocial(string razonsocial) { List <Venta> ventas = new List <Venta>(); // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_factura_buscar_por_razon_social"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@razonsocial", SqlDbType.DateTime).Value = razonsocial; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Venta venta = new Venta(); venta.IdVenta = Convert.ToInt16(reader["idventa"]); venta.Comprobante = Convert.ToString(reader["comprobante"]); //venta.Cliente.Idcliente = Convert.ToInt16(reader["idcliente"]); venta.FechaVenta = Convert.ToDateTime(reader["fechaventa"]); //venta.Cliente.Ruc = Convert.ToString(reader["ruc"]); //venta.Cliente.Razonsocial = Convert.ToString(reader["razonsocial"]); ventas.Add(venta); } } } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw new Exception(); } finally { con.Close(); } return(ventas); }
//////////////////////////////////////////////////////////////// public Empleado M_buscarDNIRepetido_empleado(string dni) { Empleado empleado = new Empleado();; // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_empleado_buscar_dni_repetido"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@dniRepetido", SqlDbType.VarChar, 8).Value = dni; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { empleado.Dni = Convert.ToString(reader["DNI"]); } } } catch (Exception ex) { //el flujo del codigo //entra a este bloque si //es que hay una excepcion Logger log = new Logger(); log.setException(ex); throw; } finally { //--flujo del codigo SIEMPRE // para por este bloque con.Close(); } return(empleado); }
//------------------------------------------- public Int32 M_insertar_empleado(Empleado empleado) { Int32 result = 0; SqlConnection con = null; try { con = UConnection.getConnection(); con.Open(); string sql = "sp_empleado_insertar"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@nombree", SqlDbType.VarChar, 50).Value = empleado.Nombre; cmd.Parameters.Add("@direccione", SqlDbType.VarChar, 100).Value = empleado.Direccion; cmd.Parameters.Add("@apellidoe", SqlDbType.VarChar, 50).Value = empleado.Apellido; cmd.Parameters.Add("@cargoe", SqlDbType.VarChar, 50).Value = empleado.Cargo; cmd.Parameters.Add("@telefonoe ", SqlDbType.VarChar, 20).Value = empleado.Telefono; cmd.Parameters.Add("@DNI", SqlDbType.VarChar, 8).Value = empleado.Dni; cmd.Parameters.Add("@fechanacimiento", SqlDbType.DateTime).Value = empleado.Fechanacimiento; cmd.Parameters.Add("@fechaentrada", SqlDbType.DateTime).Value = empleado.Fechaentrada; string claveEncriptada = BCrypt.Net.BCrypt.HashPassword( empleado.Contraseña , BCrypt.Net.BCrypt.GenerateSalt() ); cmd.Parameters.Add("@contrasenia", SqlDbType.VarChar, 100).Value = claveEncriptada; SqlParameter outParam = cmd.Parameters.Add("@idempleado", SqlDbType.SmallInt); outParam.Direction = ParameterDirection.Output; result = cmd.ExecuteNonQuery(); empleado.Idempleado = Convert.ToInt16(cmd.Parameters["@idempleado"].Value); } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw; } finally { con.Close(); } return(result); }
/////////////////////////////////////////////////// public List <Cliente> M_buscarPorRuc_cliente(string ruc) { List <Cliente> clientes = new List <Cliente>(); // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_cliente_buscar_por_RUC"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ruc", SqlDbType.VarChar, 11).Value = ruc; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Cliente cliente = new Cliente(); cliente.Idcliente = Convert.ToInt16(reader["idcliente"]); cliente.Ruc = Convert.ToString(reader["ruc"]); cliente.Razonsocial = Convert.ToString(reader["razonsocial"]); clientes.Add(cliente); } } } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw new Exception("Error al acceder a la BD"); } finally { con.Close(); } return(clientes); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public List <Empleado> M_buscarPorDNI_empleado(string dni) { List <Empleado> empleados = new List <Empleado>(); // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { con = UConnection.getConnection(); con.Open(); string sql = "sp_empleado_buscar_por_DNI"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@DNI", SqlDbType.VarChar, 8).Value = dni; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Empleado empleado = new Empleado(); empleado.Idempleado = Convert.ToInt16(reader["idempleado"]); empleado.Nombre = Convert.ToString(reader["nombree"]); empleado.Apellido = Convert.ToString(reader["apellidoe"]); empleado.Cargo = Convert.ToString(reader["cargoe"]); empleados.Add(empleado); } } } catch (Exception ex) { Logger log = new Logger(); log.setException(ex); throw new Exception("Error al acceder a la BD"); } finally { con.Close(); } return(empleados); }
//////////////////////////////////////////// public frodriguezDataSet1 M_listar_Empleados() { SqlConnection con = null; // para conectarme a mi BD. SqlDataAdapter adapter = new SqlDataAdapter(); frodriguezDataSet1 ds = new frodriguezDataSet1(); try { con = UConnection.getConnection(); con.Open(); string sql = @" select empleado.idempleado as idempleado, empleado.nombree as nombree, empleado.apellidoe as apellidoe, empleado.direccione as direccione , empleado.cargoe as cargoe, empleado.telefonoe as telefonoe, empleado.DNI as DNI, empleado.fechanacimiento as fechanacimiento, empleado.fechaentrada as fechaentrada from [dbo].[empleado] "; SqlCommand cmd = new SqlCommand(sql, con); adapter.SelectCommand = cmd; adapter.Fill(ds, "reporteEmpleado"); } catch (Exception) { throw; } finally { con.Close(); } return(ds); }
//////////////////////////////////////////// public frodriguezDataSet1 M_listar_Productos() { SqlConnection con = null; // para conectarme a mi BD. SqlDataAdapter adapter = new SqlDataAdapter(); frodriguezDataSet1 ds = new frodriguezDataSet1(); try { con = UConnection.getConnection(); con.Open(); string sql = @" select producto.idproducto as idproducto , producto.nombrepro as nombrepro, producto.diseño as diseño, producto.material as material, producto.descripcion as descripcion, producto.precio as precio , producto.tamaño as tamaño, producto.stockpro as stock FROM [dbo].[producto] ORDER BY stockpro "; SqlCommand cmd = new SqlCommand(sql, con); adapter.SelectCommand = cmd; adapter.Fill(ds, "reporteProductos"); } catch (Exception) { throw; } finally { con.Close(); } return(ds); }
//------------------------------------------------------------------------------------------- public frodriguezDataSet1 M_reporte_Boleta(int idVenta) { SqlConnection con = null; SqlDataAdapter adapter = new SqlDataAdapter(); frodriguezDataSet1 ds = new frodriguezDataSet1(); try { con = UConnection.getConnection(); con.Open(); // string sql = "sp_usuario_insertar"; string sql; sql = @" SELECT venta.idventa as id_venta ,CASE WHEN venta.tipo_comprobante='B' THEN 'BOLETA ELECTRONICA' ELSE 'FACTURA ELECTRONICA' END as tipo_comprobante ,venta.tipo_comprobante +venta.serie+'-'+venta.numero as comprobante ,venta.fechaventa as fecha , concat (cliente.nombrec,' ', cliente.apellidoc) as nombrec ,cliente.direccion as direccion ,ventadetalle.cantidad as cantidad ,producto.nombrepro as nombrepro ,ventadetalle.preciounit as precio_unitario ,ventadetalle.preciounit*ventadetalle.cantidad as valor_venta ,auxiliar.total as total --,auxiliar.total*venta.igv as igv --,auxiliar.total-auxiliar.total*venta.igv as subtotal FROM [dbo].[venta] INNER JOIN cliente ON venta.idcliente= cliente.idcliente INNER JOIN ventadetalle ON venta.idventa= ventadetalle.idventa INNER JOIN producto ON ventadetalle.idproducto= producto.idproducto INNER JOIN ( SELECT venta.idventa as id_venta ,isnull(SUM(ventadetalle.preciounit*ventadetalle.cantidad),0) as total FROM venta INNER JOIN ventadetalle ON venta.idventa= ventadetalle.idventa WHERE venta.idventa=@idVenta GROUP BY venta.idventa ) as auxiliar ON venta.idventa=auxiliar.id_venta WHERE venta.idventa=@idVenta "; SqlCommand cmd = new SqlCommand(sql, con); // cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@idVenta", SqlDbType.Int).Value = idVenta; adapter.SelectCommand = cmd; //---- nombre del datatable----------- adapter.Fill(ds, "reporteBoleta"); } catch (Exception) { throw; } finally { con.Close(); } return(ds); }
public Int32 M_insertar_venta(Venta venta) { Int32 resp = 0; SqlTransaction objTransac = null; SqlConnection con = null; SqlCommand cmd1; SqlCommand cmd2; try { con = UConnection.getConnection(); con.Open(); //------ insertar cabezera (tabla venta)---- string sql = "sp_venta_insertar"; cmd1 = new SqlCommand(sql, con); cmd1.CommandType = CommandType.StoredProcedure; // cmd1.Parameters.Add("@detalles", SqlDbType.VarChar, 150).Value = venta.Detalle; cmd1.Parameters.Add("@fechaventa", SqlDbType.Date).Value = venta.FechaVenta; cmd1.Parameters.Add("@idcliente", SqlDbType.SmallInt).Value = venta.Cliente.Idcliente; cmd1.Parameters.Add("@idempleado", SqlDbType.SmallInt).Value = EmpleadoLogueado.idempleado; cmd1.Parameters.Add("@serie", SqlDbType.VarChar, 6).Value = venta.Serie; cmd1.Parameters.Add("@numero", SqlDbType.VarChar, 6).Value = venta.Numero; cmd1.Parameters.Add("@tipo_comprobante", SqlDbType.Char, 1).Value = venta.TipoComprobante; cmd1.Parameters.Add("@igv", SqlDbType.Decimal).Value = venta.Igv; SqlParameter outParam = cmd1.Parameters.Add("@idventa", SqlDbType.SmallInt); outParam.Direction = ParameterDirection.Output; //----- insertar detalle (tabla venta_detalle)---------- string sql2 = "sp_venta_detalle_insertar2"; cmd2 = new SqlCommand(sql2, con); cmd2.CommandType = CommandType.StoredProcedure; cmd2.Parameters.Add(new SqlParameter("@idventa", SqlDbType.Int)); cmd2.Parameters.Add(new SqlParameter("@idproducto", SqlDbType.Int)); //cmd2.Parameters.Add(new SqlParameter("@idservicio", SqlDbType.Int)); cmd2.Parameters.Add(new SqlParameter("@cantidad", SqlDbType.Int)); cmd2.Parameters.Add(new SqlParameter("@preciounit", SqlDbType.Decimal)); // cmd2.Parameters.Add(new SqlParameter("@fechaentrega", SqlDbType.DateTime)); // cmd2.Parameters.Add(new SqlParameter("@observaciones", SqlDbType.VarChar, 150)); //---- preparamos la transaccion------- objTransac = con.BeginTransaction(); cmd1.Transaction = objTransac; cmd2.Transaction = objTransac; //----- ejecutar el 1er comando (cabezera) ---- cmd1.ExecuteNonQuery(); //---- leemos el id_venta generado( identity) venta.IdVenta = Convert.ToInt32(cmd1.Parameters["@idventa"].Value); // MessageBox.Show(venta.IdVenta.ToString()); //------- ejecutamos el 2do comando (detalle) foreach (VentaDetalle item in venta.VentaDetalles) { cmd2.Parameters["@idventa"].Value = venta.IdVenta; cmd2.Parameters["@idproducto"].Value = item.Producto.Idproducto; cmd2.Parameters["@cantidad"].Value = item.Cantidad; cmd2.Parameters["@preciounit"].Value = item.PrecioUnitario; // cmd2.Parameters["@fechaentrega"].Value = item.FechaEntrega; // cmd2.Parameters["@observaciones"].Value = item.Observaciones; cmd2.ExecuteNonQuery(); } //--- las operaciones se grabaran recien en esta instruccion objTransac.Commit(); } catch (Exception ex) { objTransac.Rollback(); Logger log = new Logger(); log.setException(ex); throw; } finally { //--flujo del codigo SIEMPRE // para por este bloque con.Close(); } return(resp); }
////////////////////////////////////////////////////////////////////////////// public List <Producto> M_BuscarPorNombre_Producto(string nombre) { List <Producto> productos = new List <Producto>(); // retorno de mi metodo buscarPorEntidad SqlConnection con = null; // para conectarme a mi BD. try { // apunta a la conexion de mi BD (direccion, BD, user,clave,) con = UConnection.getConnection(); // abrimos la coneccion a la BD con.Open(); // procedimiento almacenado para insertar cliente string sql = "sp_producto_buscar_por_nombre"; // creamos un objeto comando para ejecutar el Procedimiento a. SqlCommand cmd = new SqlCommand(sql, con); //definir que estamos trabajando con procedimiento almacenados cmd.CommandType = CommandType.StoredProcedure; // pasar los parametros a mi procedimiento almacenado // parametros de entrada cmd.Parameters.Add("@nombrepro", SqlDbType.VarChar, 50).Value = nombre; //---ejecutamos el comando y leemos los registros //para los select SqlDataReader reader = cmd.ExecuteReader(); //preguntamos si tiene registros if (reader.HasRows) { // leemos el lector //mientras haya registros while (reader.Read()) { Producto producto = new Producto(); producto.Idproducto = Convert.ToInt16(reader["idproducto"]); producto.Stock = Convert.ToInt16(reader["stockpro"]); producto.Nombre = Convert.ToString(reader["nombrepro"]); producto.Diseño = Convert.ToString(reader["diseño"]); producto.Material = Convert.ToString(reader["material"]); producto.Precio = Convert.ToDecimal(reader["precio"]); producto.Categoria = Convert.ToString(reader["categoriapro"]); producto.Color = Convert.ToString(reader["color"]); producto.Stock = Convert.ToInt16(reader["stockpro"]); producto.Tamaño = Convert.ToString(reader["tamaño"]); // agregar al objetos clientes // cada objeto cliente productos.Add(producto); } } } catch (Exception ex) { //el flujo del codigo //entra a este bloque si //es que hay una excepcion Logger log = new Logger(); log.setException(ex); throw new Exception("Error al acceder a la BD"); } finally { //--flujo del codigo SIEMPRE // para por este bloque con.Close(); } return(productos); }
public Venta M_generarSerie_NumeroComprobante(string tipoComprobante) { Venta venta = new Venta(); SqlConnection con = null; try { con = UConnection.getConnection(); con.Open(); string sql = "sp_venta_generar_serie_numero_comprobante"; SqlCommand cmd = new SqlCommand(sql, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@tipo_comprobante", SqlDbType.Char, 1).Value = tipoComprobante; SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { int serie = Convert.ToInt32(reader["maximo_numero"]); int numero = Convert.ToInt32(reader["maximo_serie"]); //verificar el valor de numero if (numero == 0) { //el primer comprobante serie = 1; numero = 1; } else if (numero > 999999) { //se reinicia el numero a 1 y la serie aumenta en 1 numero = 1; serie++; } else { numero++; } //--Transformamos la serie y nuemro a cadena, con sus ceros a la izquierda int longitudSerie = 4; int longitudNumero = 6; string digitosCerosSerie = new String('0', longitudSerie - serie.ToString().Length); venta.Serie = digitosCerosSerie + serie.ToString(); string digitosCerosNumero = new String('0', longitudNumero - numero.ToString().Length); venta.Numero = digitosCerosNumero + numero.ToString(); } } } catch (Exception) { throw; } finally { con.Close(); } return(venta); }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public Int32 M_actualizar_cliente(Cliente cliente) { Int32 result = 0; // retorno de mi metodo insertar SqlConnection con = null; // para conectarme a mi BD. try { // apunta a la conexion de mi BD (direccion, BD, user,clave,) con = UConnection.getConnection(); // abrimos la coneccion a la BD con.Open(); // procedimiento almacenado para insertar cliente string sql = "sp_cliente_actualizar"; // creamos un objeto comando para ejecutar el Procedimiento a. SqlCommand cmd = new SqlCommand(sql, con); //definir que estamos trabajando con procedimiento almacenados cmd.CommandType = CommandType.StoredProcedure; // pasar los parametros a mi procedimiento almacenado // parametros de entrada cmd.Parameters.Add("@DNIc", SqlDbType.VarChar, 8).Value = cliente.Dni; cmd.Parameters.Add("@nombrec", SqlDbType.VarChar, 50).Value = cliente.Nombre; cmd.Parameters.Add("@apellidoc", SqlDbType.VarChar, 50).Value = cliente.Apellido; cmd.Parameters.Add("@direccion", SqlDbType.VarChar, 100).Value = cliente.Direccion; cmd.Parameters.Add("@telefonoc", SqlDbType.VarChar, 20).Value = cliente.Telefono; cmd.Parameters.Add("@correoc", SqlDbType.VarChar, 100).Value = cliente.Correo; cmd.Parameters.Add("@ruc", SqlDbType.VarChar, 11).Value = cliente.Ruc; cmd.Parameters.Add("@razonsocial", SqlDbType.VarChar, 200).Value = cliente.Razonsocial; cmd.Parameters.Add("@idcliente", SqlDbType.SmallInt).Value = cliente.Idcliente; //---ejecutar el comando result = cmd.ExecuteNonQuery(); } catch (Exception ex) { //el flujo del codigo //entra a este bloque si //es que hay una excepcion Logger log = new Logger(); log.setException(ex); throw new Exception(ex.Message); } finally { //--flujo del codigo SIEMPRE // para por este bloque con.Close(); } return(result); }
///////////////////////////////////// public Int32 M_actualizar_Producto(Producto producto) { Int32 result = 0; // retorno de mi metodo insertar SqlConnection con = null; // para conectarme a mi BD. try { // apunta a la conexion de mi BD (direccion, BD, user,clave,) con = UConnection.getConnection(); // abrimos la coneccion a la BD con.Open(); // procedimiento almacenado para insertar cliente string sql = "sp_producto_actualizar"; // creamos un objeto comando para ejecutar el Procedimiento a. SqlCommand cmd = new SqlCommand(sql, con); //definir que estamos trabajando con procedimiento almacenados cmd.CommandType = CommandType.StoredProcedure; // pasar los parametros a mi procedimiento almacenado // parametros de entrada cmd.Parameters.Add("@stockpro", SqlDbType.Int).Value = producto.Stock; cmd.Parameters.Add("@nombrepro", SqlDbType.VarChar, 50).Value = producto.Nombre; cmd.Parameters.Add("@diseño", SqlDbType.VarChar, 50).Value = producto.Diseño; cmd.Parameters.Add("@material", SqlDbType.VarChar, 100).Value = producto.Material; cmd.Parameters.Add("@descripcion", SqlDbType.VarChar, 150).Value = producto.Descripcion; cmd.Parameters.Add("@precio", SqlDbType.Decimal).Value = producto.Precio; cmd.Parameters.Add("@tamaño", SqlDbType.VarChar, 20).Value = producto.Tamaño; cmd.Parameters.Add("@categoriapro", SqlDbType.VarChar, 20).Value = producto.Categoria; cmd.Parameters.Add("@color", SqlDbType.VarChar, 20).Value = producto.Categoria; cmd.Parameters.Add("@idproducto", SqlDbType.SmallInt).Value = producto.Idproducto; //---ejecutar el comando result = cmd.ExecuteNonQuery(); } catch (Exception ex) { //el flujo del codigo //entra a este bloque si //es que hay una excepcion Logger log = new Logger(); log.setException(ex); throw new Exception(ex.Message); } finally { //--flujo del codigo SIEMPRE // para por este bloque con.Close(); } return(result); }
public Int32 M_cambiarClave_empleado(string claveActual, string claveNueva) { bool resp = false; SqlConnection con = null; // para conectarme a mi BD. SqlCommand cmd1; //-- para el select SqlCommand cmd2; //-- para el update try { con = UConnection.getConnection(); con.Open(); //------- verificar clave actual --------------- string sql = "sp_empleado_buscar_por_id"; cmd1 = new SqlCommand(sql, con); cmd1.CommandType = CommandType.StoredProcedure; cmd1.Parameters.Add("@idempleado", SqlDbType.SmallInt).Value = EmpleadoLogueado.idempleado; SqlDataReader reader = cmd1.ExecuteReader(); if (reader.HasRows) { string claveAlmacenada = ""; while (reader.Read()) { claveAlmacenada = Convert.ToString(reader["contrasenia"]); } resp = BCrypt.Net.BCrypt.Verify(claveActual, claveAlmacenada); } reader.Close(); if (!resp) { throw new Exception("Clave actual es erronea"); } //------ actualizar la clave -------- string sql2 = "sp_empleado_actualizar_clave"; cmd2 = new SqlCommand(sql2, con); cmd2.CommandType = CommandType.StoredProcedure; cmd2.Parameters.Add("@idempleado", SqlDbType.SmallInt).Value = EmpleadoLogueado.idempleado; string claveEncriptada = BCrypt.Net.BCrypt.HashPassword( claveNueva , BCrypt.Net.BCrypt.GenerateSalt() ); cmd2.Parameters.Add("@contrasenia", SqlDbType.VarChar, 100).Value = claveEncriptada; cmd2.ExecuteNonQuery(); } catch (Exception) { throw; } finally { con.Close(); } return(0); }