public static bool Delete(int id) { bool paso = false; Contexto contexto = new Contexto(); try { var compra = Search(id); Productos producto; ICollection <ComprasDetalle> viejosDetalles = Search(compra.CompraId).Detalle; foreach (ComprasDetalle d in viejosDetalles) { producto = ProductosBLL.Search(d.ProductoId); if (producto != null) { producto.Cantidad -= d.Cantidad; ProductosBLL.Save(producto); } } if (compra != null) { contexto.Entry(compra).State = EntityState.Deleted; paso = contexto.SaveChanges() > 0; } } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }
private static bool Insert(Compras compra) { bool paso = false; Contexto contexto = new Contexto(); try { contexto.Compras.Add(compra); paso = contexto.SaveChanges() > 0; Productos producto; ICollection <ComprasDetalle> detalle = compra.Detalle; foreach (ComprasDetalle m in detalle) { producto = ProductosBLL.Search(m.ProductoId); producto.Cantidad += m.Cantidad; ProductosBLL.Save(producto); } } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }
public static bool Modify(Compras compra) { bool paso = false; Contexto contexto = new Contexto(); try { Productos producto; ICollection <ComprasDetalle> detalle = Search(compra.CompraId).Detalle; foreach (ComprasDetalle m in detalle) { producto = ProductosBLL.Search(m.ProductoId); producto.Cantidad += m.Cantidad; ProductosBLL.Save(producto); } contexto.Database.ExecuteSqlRaw($"Delete FROM ComprasDetalle Where CompraId={compra.CompraId}"); foreach (var item in compra.Detalle) { contexto.Entry(item).State = EntityState.Added; } ICollection <ComprasDetalle> nuevo = compra.Detalle; foreach (ComprasDetalle m in nuevo) { producto = ProductosBLL.Search(m.ProductoId); producto.Cantidad -= m.Cantidad; ProductosBLL.Save(producto); } contexto.Entry(compra).State = EntityState.Modified; paso = contexto.SaveChanges() > 0; } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }