//Metodo Anular public string Eliminar(Dventa Venta) { string respuesta = ""; var conexionSql = new SqlConnection(Utilidades.conexion); try { //Abrir StringConnection conexionSql.Open(); //Establecer el comando SQL var comandoSql = new SqlCommand("[speliminar_venta]", conexionSql); comandoSql.CommandType = CommandType.StoredProcedure; //Parametros para el comandoSql (StoreProcedure) var parIdIVenta = new SqlParameter("@idventa", SqlDbType.Int); parIdIVenta.Value = Venta.IdVenta; comandoSql.Parameters.Add(parIdIVenta); //Ejecucion del comando respuesta = comandoSql.ExecuteNonQuery() == 1 ? "Ok" : "Ok"; } catch (Exception ex) { respuesta = ex.Message; } finally { if (conexionSql.State == ConnectionState.Open) { conexionSql.Close(); } } return(respuesta); }
//Metodo Insertar public string Insertar(Dventa Venta, List <DdetalleVenta> Detalle) { string respuesta = ""; var conexionSql = new SqlConnection(Utilidades.conexion); try { //Abrir StringConnection conexionSql.Open(); //Establecer la transaccion var transaccionSql = conexionSql.BeginTransaction(); //Establecer el comando SQL var comandoSql = new SqlCommand("[spinsertar_venta]", conexionSql, transaccionSql); comandoSql.CommandType = CommandType.StoredProcedure; //Parametros para el comandoSql (StoreProcedure) var parIdVenta = new SqlParameter("@idventa", SqlDbType.Int); parIdVenta.Direction = ParameterDirection.Output; comandoSql.Parameters.Add(parIdVenta); var parIdCliente = new SqlParameter("@idcliente", SqlDbType.Int); parIdCliente.Value = Venta.IdCliente; comandoSql.Parameters.Add(parIdCliente); var parIdTrabajador = new SqlParameter("@idtrabajador", SqlDbType.Int); parIdTrabajador.Value = Venta.IdTrabajador; comandoSql.Parameters.Add(parIdTrabajador); var parFecha = new SqlParameter("@fecha", SqlDbType.Date); parFecha.Value = Venta.Fecha; comandoSql.Parameters.Add(parFecha); var parTipoComprobante = new SqlParameter("@tipo_comprobante", SqlDbType.VarBinary, 20); parTipoComprobante.Value = Venta.TipoComprobante; comandoSql.Parameters.Add(parTipoComprobante); var parSerie = new SqlParameter("@serie", SqlDbType.VarChar, 4); parSerie.Value = Venta.Serie; comandoSql.Parameters.Add(parSerie); var parCorrelativo = new SqlParameter("@correlativo", SqlDbType.VarChar, 7); parCorrelativo.Value = Venta.Correlativo; comandoSql.Parameters.Add(parCorrelativo); var parItbis = new SqlParameter("@itbis", SqlDbType.Decimal); parItbis.Scale = 2; parItbis.Precision = 4; parItbis.Value = Venta.Itbis; comandoSql.Parameters.Add(parItbis); //Ejecucion del comando respuesta = comandoSql.ExecuteNonQuery() == 1 ? "Ok" : "No se pudo insertar el registro"; if (respuesta.Equals("Ok")) { //Obtener el codigo (Id) del ingreso generado IdVenta = Convert.ToInt32(comandoSql.Parameters["@idventa"].Value); foreach (DdetalleVenta item in Detalle) { item.IdVenta = IdVenta; //Llamar al mentodo Insertar de la Clase DdetalleIngreso respuesta = item.Insertar(item, ref conexionSql, ref transaccionSql); if (!respuesta.Equals("Ok")) { break; } else //Si se insertan los detalles de ventas actualizamos el stock { respuesta = DisminuirStock(item.IdDetalleIngreso, item.Cantidad); if (respuesta.Equals("Ok")) { break; } } } } if (respuesta.Equals("Ok")) { transaccionSql.Commit(); } else { transaccionSql.Rollback(); } } catch (Exception ex) { respuesta = ex.Message; } finally { if (conexionSql.State == ConnectionState.Open) { conexionSql.Close(); } } return(respuesta); }