public int InsertarCompra(Modelo.Compras.Compra c) { SqlConnection connection = null; SqlCommand cmd = null; SqlTransaction transaction = null; try { connection = GetConnection(); connection.Open(); transaction = connection.BeginTransaction(); cmd = connection.CreateCommand(); cmd.Transaction = transaction; cmd.CommandText = "INSERT INTO [Compras].[Compras] VALUES (@Proveedor,GETDATE(),null,@CompradoPor)" + Environment.NewLine + "SELECT CAST(SCOPE_IDENTITY() as int)"; cmd.Parameters.AddWithValue("@Proveedor", c.Proveedor.IdProveedor); cmd.Parameters.AddWithValue("@CompradoPor", c.CompradoPor.IdUsuario); var id = cmd.ExecuteScalar(); c.IdCompra = (int)id; foreach (Modelo.Compras.DetalleCompra d in c.DetalleCompras) { cmd.CommandText = "INSERT INTO [Compras].[DetalleCompra] VALUES (@Compra,@Material,@Cantidad,@Costo)" + Environment.NewLine + "SELECT CAST(SCOPE_IDENTITY() as int)"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@Compra", id); cmd.Parameters.AddWithValue("@Material", d.Material.IdMaterial); cmd.Parameters.AddWithValue("@Cantidad", d.Cantidad); cmd.Parameters.AddWithValue("@Costo", d.Costo); d.IdDetalleCompra = (int)cmd.ExecuteScalar(); } transaction.Commit(); return((int)id); } catch (Exception ex) { if (transaction != null) { transaction.Rollback(); } throw ex; } finally { if (connection != null) { connection.Close(); connection.Dispose(); } } }
public Compras(Modelo.Compras.Compra c) : this() { if (c == null) { return; } this.CurrentCompra = c; txtIdCompra.EditValue = c.IdCompra; CmbProveedor.EditValue = c.Proveedor.IdProveedor; DtpFechaOrden.EditValue = c.FechaOrden; foreach (Modelo.Compras.DetalleCompra d in c.DetalleCompras) { DataRow row = DetalleCompra.NewRow(); row["Material"] = d.Material.IdMaterial; row["Cantidad"] = d.Cantidad; row["Precio"] = d.Costo; DetalleCompra.Rows.Add(row); } DtpFechaOrden.ReadOnly = true; CmbProveedor.ReadOnly = true; LciEntregar.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; LciGuardar.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; LciFechaRecepcion.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; BtnGuardar.Enabled = false; GvCompras.OptionsBehavior.Editable = false; GvCompras.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.None; GvCompras.OptionsBehavior.Editable = false; }
public Compras() { InitializeComponent(); ctrlMaterial = new Controlador.Produccion.ControladorMaterial(); ctrlProveedor = new Controlador.Compras.ControladorProveedor(); ctrlCompra = new Controlador.Compras.ControladorCompra(); this.CurrentCompra = null; Limpiar(); }
public Modelo.Compras.Compra GetById(int id) { SqlConnection connection = null; SqlCommand cmd = null; SqlDataReader reader = null; Modelo.Compras.Compra c = null; try { connection = GetConnection(); connection.Open(); cmd = connection.CreateCommand(); cmd.CommandText = "SELECT c.* " + "FROM [Compras].[Compras] c " + "WHERE c.IdCompra = @Id"; cmd.Parameters.AddWithValue("@Id", id); reader = cmd.ExecuteReader(); if (reader.Read()) { c = new Modelo.Compras.Compra(); c.IdCompra = (int)reader["IdCompra"]; c.Proveedor = new Controlador.Compras.ControladorProveedor().GetById((int)reader["Proveedor"]); c.FechaOrden = (DateTime)reader["FechaOrden"]; c.FechaRecepcion = reader["FechaRecepcion"] != DBNull.Value ? (DateTime)reader["FechaRecepcion"] : DateTime.Today; c.CompradoPor = new Controlador.Usuarios.ControladorUsuario().GetById((int)reader["CompradoPor"]); c.DetalleCompras = new Controlador.Compras.ControladorDetalleCompra().GetByCompra(c.IdCompra); } return(c); } catch (Exception ex) { throw ex; } finally { if (connection != null) { connection.Close(); connection.Dispose(); } } }
public void Limpiar() { this.CurrentCompra = null; DtpFechaOrden.ReadOnly = false; DtpFechaOrden.Properties.MinValue = DateTime.Today; DtpFechaRecepcion.Properties.MinValue = DateTime.Today; CmbProveedor.ReadOnly = false; LciEntregar.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; LciGuardar.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; LciFechaRecepcion.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; DtpFechaOrden.EditValue = DateTime.Today; DtpFechaRecepcion.EditValue = DateTime.Today; txtIdCompra.EditValue = null; CmbProveedor.EditValue = null; InitGrid(); }
private Modelo.Compras.Compra GenerarCompra() { Modelo.Compras.Compra c = new Modelo.Compras.Compra() { CompradoPor = Session.UsuarioEnCurso, Proveedor = ctrlProveedor.GetById((int)CmbProveedor.EditValue), DetalleCompras = new List <Modelo.Compras.DetalleCompra>() }; foreach (DataRow row in DetalleCompra.Rows) { Modelo.Compras.DetalleCompra d = new Modelo.Compras.DetalleCompra(); d.Material = ctrlMaterial.GetById((int)row["Material"]); d.Cantidad = (double)(int)row["Cantidad"]; d.Costo = (double)row["Precio"]; c.DetalleCompras.Add(d); } return(c); }
public void UpdateCompra(Modelo.Compras.Compra c) { SqlConnection connection = null; SqlCommand cmd = null; SqlTransaction transaction = null; try { connection = GetConnection(); connection.Open(); transaction = connection.BeginTransaction(); cmd = connection.CreateCommand(); cmd.Transaction = transaction; cmd.CommandText = "UPDATE [Compras].[Compras] SET " + "Proveedor = @Proveedor," + "FechaRecepcion = @FechaRecepcion," + "CompradoPor = @CompradoPor" + Environment.NewLine + "WHERE IdCompra = @IdCompra"; cmd.Parameters.AddWithValue("@Proveedor", c.Proveedor.IdProveedor); cmd.Parameters.AddWithValue("@FechaRecepcion", c.FechaRecepcion); cmd.Parameters.AddWithValue("@CompradoPor", c.CompradoPor); cmd.Parameters.AddWithValue("@IdCompra", c.IdCompra); cmd.ExecuteNonQuery(); if (c.DetalleCompras != null) { foreach (Modelo.Compras.DetalleCompra d in c.DetalleCompras) { cmd.CommandText = "UPDATE [Compras].[DetalleCompra] SET " + "Material = @Material," + "Cantidad = @Cantidad," + "Costo = @Costo)" + Environment.NewLine + "WHERE IdDetalleCompra = @IdDetalle"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@IdDetalleCompra", d.IdDetalleCompra); cmd.Parameters.AddWithValue("@Material", d.Material.IdMaterial); cmd.Parameters.AddWithValue("@Cantidad", d.Cantidad); cmd.Parameters.AddWithValue("@Costo", d.Costo); cmd.ExecuteNonQuery(); } } transaction.Commit(); } catch (Exception ex) { if (transaction != null) { transaction.Rollback(); } throw ex; } finally { if (connection != null) { connection.Close(); connection.Dispose(); } } }
private void GuardarCompra() { Modelo.Compras.Compra c = GenerarCompra(); ctrlCompra.InsertarCompra(c); }