public override bool Eliminar(int id) { bool paso = false; Contexto contexto = new Contexto(); Compra compra = contexto.compras.Find(id); PagoCompra pago = contexto.pagoCompras.Find(id); Suplidores suplidor = contexto.sublidors.Find(id); try { foreach (var item in compra.Detalles) { var Articulos = contexto.articulos.Find(item.ArticuloId); Articulos.Inventario -= item.Cantidad; } contexto.sublidors.Find(compra.SuplidorId).CuentasPorPagar -= compra.Total; //pago.MontoPagar -= suplidor.CuentasPorPagar; //contexto.pagoCompras.Find(pago.SuplidorId).MontoPagar -= suplidor.CuentasPorPagar; contexto.balances.Find(compra.BalanceId).Monto += compra.BalanceC; compra.Detalles.Count(); contexto.compras.Remove(compra); if (contexto.SaveChanges() > 0) { paso = true; } } catch (Exception) { throw; } return(paso); }
public override bool Modificar(Compra compra) { bool paso = false; Contexto contexto = new Contexto(); try { var comprar = contexto.compras.Find(compra.CompraId); foreach (var item in comprar.Detalles) { contexto.articulos.Find(item.ArticuloId).Inventario -= item.Cantidad; if (!compra.Detalles.ToList().Exists(m => m.CompraId == item.CompraId)) { contexto.articulos.Find(item.ArticuloId).Inventario -= item.Cantidad; // item.Articulo = null; contexto.Entry(item).State = EntityState.Deleted; } } var balance = contexto.balances.Find(compra.BalanceId); if (compra.Total == compra.General) { balance.Monto -= compra.Total; contexto.Entry(balance).State = EntityState.Modified; } else { contexto.sublidors.Find(compra.SuplidorId).CuentasPorPagar += compra.Total; balance.Monto -= compra.BalanceC; var suplidorr = contexto.sublidors.Find(compra.SuplidorId); int desigualdal = compra.Total + suplidorr.CuentasPorPagar; Suplidores supli = contexto.sublidors.Find(compra.SuplidorId); supli.CuentasPorPagar -= compra.Total; //Compra obtener = new Compra(); //int disimilitud = compra.Total + obtener.Total; //Balance balanc = new Balance(); //balanc.Monto += compra.BalanceC; //BalanceBLL.Buscar(disimilitud); } //var TotalSupli = contexto.sublidors.Find(compra.SuplidorId); //var TotalSupliAnt = contexto.sublidors.Find(comprar.SuplidorId); //if (comprar.SuplidorId != compra.SuplidorId) //{ // TotalSupli.CuentasPorPagar += compra.Total ; // TotalSupliAnt.CuentasPorPagar -= comprar.Total ; // //SuplidorBLL.Modificar(TotalSupli); // //SuplidorBLL.Modificar(TotalSupliAnt); //} foreach (var item in compra.Detalles) { contexto.articulos.Find(item.ArticuloId).Inventario += item.Cantidad; var state = item.CompraId > 0 ? EntityState.Modified : EntityState.Added; contexto.Entry(item).State = state; } contexto.Entry(compra).State = EntityState.Modified; if (contexto.SaveChanges() > 0) { paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }