//Metodo utilizado para insertar un DetalleVenta //Le pasamos la conexion y la transaccion por referencia, debido a que esos datos lo obtenemos //de la clase Venta y no deberiamos crear una nueva Conexion o una nueva Transaccion //sino la creada por la clase Venta public string Insertar(DetalleVenta varDetalleVenta, ref SqlConnection sqlCon, ref SqlTransaction sqlTra) { string rpta = ""; try { //1. Establecer el comando SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = sqlCon; sqlCmd.Transaction = sqlTra; sqlCmd.CommandText = "sp_Ins_DetalleVenta"; sqlCmd.CommandType = CommandType.StoredProcedure; //4. Agregar los parametros al comando //Establecemos los valores para el parametro @codigoVenta del Procedimiento Almacenado SqlParameter sqlParcodigoVenta = new SqlParameter(); sqlParcodigoVenta.ParameterName = "@codCompVenta"; sqlParcodigoVenta.SqlDbType = SqlDbType.Int; sqlParcodigoVenta.Value = varDetalleVenta.codigoVenta; sqlCmd.Parameters.Add(sqlParcodigoVenta); //Agregamos el parametro al comando //Establecemos los valores para el parametro @codigoProducto del Procedimiento Almacenado SqlParameter sqlParcodigoProducto = new SqlParameter(); sqlParcodigoProducto.ParameterName = "@codProducto"; sqlParcodigoProducto.SqlDbType = SqlDbType.Int; sqlParcodigoProducto.Size = 4; sqlParcodigoProducto.Value = varDetalleVenta.codigoProducto; sqlCmd.Parameters.Add(sqlParcodigoProducto); //Agregamos el parametro al comando //Establecemos los valores para el pprtarametro @cantidad del Procedimiento Almacenado SqlParameter sqlParcantidad = new SqlParameter(); sqlParcantidad.ParameterName = "@cantidad"; sqlParcantidad.SqlDbType = SqlDbType.Decimal; sqlParcantidad.Precision = 18; sqlParcantidad.Scale = 2; sqlParcantidad.Value = varDetalleVenta.cantidad; sqlCmd.Parameters.Add(sqlParcantidad); //Agregamos el parametro al comando //5. Ejecutamos el commando rpta = sqlCmd.ExecuteNonQuery() == 1 ? "OK" : "No se inserto el detalle de venta de forma correcta"; } catch (Exception ex) { rpta = ex.Message; } return(rpta); }
//Metodo utilizado para insertar un DetalleVenta //Le pasamos la conexion y la transaccion por referencia, debido a que esos datos lo obtenemos //de la clase Venta y no deberiamos crear una nueva Conexion o una nueva Transaccion //sino la creada por la clase Venta public string Insertar(DetalleVenta varDetalleVenta, ref SqlConnection sqlCon, ref SqlTransaction sqlTra) { string rpta = ""; try { //1. Establecer el comando SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = sqlCon; sqlCmd.Transaction = sqlTra; sqlCmd.CommandText = "sp_Ins_DetalleVenta"; sqlCmd.CommandType = CommandType.StoredProcedure; //4. Agregar los parametros al comando //Establecemos los valores para el parametro @codigoVenta del Procedimiento Almacenado SqlParameter sqlParcodigoVenta = new SqlParameter(); sqlParcodigoVenta.ParameterName = "@codCompVenta"; sqlParcodigoVenta.SqlDbType = SqlDbType.Int; sqlParcodigoVenta.Value = varDetalleVenta.codigoVenta; sqlCmd.Parameters.Add(sqlParcodigoVenta); //Agregamos el parametro al comando //Establecemos los valores para el parametro @codigoProducto del Procedimiento Almacenado SqlParameter sqlParcodigoProducto = new SqlParameter(); sqlParcodigoProducto.ParameterName = "@codProducto"; sqlParcodigoProducto.SqlDbType = SqlDbType.Int; sqlParcodigoProducto.Size = 4; sqlParcodigoProducto.Value = varDetalleVenta.codigoProducto; sqlCmd.Parameters.Add(sqlParcodigoProducto); //Agregamos el parametro al comando //Establecemos los valores para el pprtarametro @cantidad del Procedimiento Almacenado SqlParameter sqlParcantidad = new SqlParameter(); sqlParcantidad.ParameterName = "@cantidad"; sqlParcantidad.SqlDbType = SqlDbType.Decimal; sqlParcantidad.Precision = 18; sqlParcantidad.Scale = 2; sqlParcantidad.Value = varDetalleVenta.cantidad; sqlCmd.Parameters.Add(sqlParcantidad); //Agregamos el parametro al comando //5. Ejecutamos el commando rpta = sqlCmd.ExecuteNonQuery() == 1 ? "OK" : "No se inserto el detalle de venta de forma correcta"; } catch (Exception ex) { rpta = ex.Message; } return rpta; }