public static int Insert(OrdenDeCompra ord) { Acceso ac = new Acceso(); SqlTransaction tran = null; SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); SqlCommand cmd = new SqlCommand("ps_insertar_orden_de_compra", conexion); cmd.Parameters.AddWithValue("@fechaOrden", ord.fechaOrden); cmd.Parameters.AddWithValue("@idProveedor", ord.proveedor.idPersona); cmd.Parameters.AddWithValue("@monto", ord.monto); //cmd.Parameters.AddWithValue("@fechaRemito", ord.fechaRemito ); try { conexion.Open(); tran = conexion.BeginTransaction(); cmd.CommandType = CommandType.StoredProcedure; cmd.Transaction = tran; cmd.ExecuteNonQuery(); SqlCommand cmdIdentity = new SqlCommand("select @@Identity", conexion, tran); ord.idOrdenCompra = Convert.ToInt32((cmdIdentity.ExecuteScalar())); foreach (DetalleOrdenCompra detPed in ord.detalleOrdenCompra) { DetalleOrdenCompraDAO.Insert(detPed, conexion, tran, ord.idOrdenCompra); } tran.Commit(); return(ord.idOrdenCompra); } catch (ArgumentException ex) { if (conexion.State == ConnectionState.Open) { tran.Rollback(); } throw new ApplicationException(ex.Message); } catch (SqlException ex) { if (conexion.State == ConnectionState.Open) { tran.Rollback(); } throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } }
public static void UpdateEstadoOrdenCompra(OrdenDeCompra ord) { Acceso ac = new Acceso(); SqlTransaction tran = null; SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); SqlCommand cmd = new SqlCommand("UPDATE [Luiggi].[dbo].[OrdenDeCompra] SET [idEstado] = @idEstado, [montoReal] = @montoReal WHERE idOrden = @idOrden", conexion); cmd.Parameters.AddWithValue("@idOrden", ord.idOrdenCompra); cmd.Parameters.AddWithValue("@idEstado", ord.estado.idEstado); cmd.Parameters.AddWithValue("@montoReal", ord.montoReal); try { conexion.Open(); cmd.Connection = conexion; cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); foreach (DetalleOrdenCompra det in ord.detalleOrdenCompra) { DetalleOrdenCompraDAO.UpdateCantidadIngresadaReal(det, ord.idOrdenCompra, conexion, tran); } } catch (ArgumentException ex) { throw new ApplicationException(ex.Message); } catch (SqlException ex) { throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } }