public bool Guardar(Cobros cobro) { bool paso = false; Contexto contexto = new Contexto(); EmpeñosController controller = new EmpeñosController(); try { if (contexto.Cobros.Add(cobro) != null) { contexto.Empeños.Find(cobro.EmpeñoId).Abono += cobro.Abono; foreach (var item in controller.GetList(x => x.EmpeñoId == cobro.EmpeñoId)) { contexto.Empeños.Find(cobro.EmpeñoId).UltimaFechadeVigencia = item.UltimaFechadeVigencia.AddDays(AumentoDias(cobro.Abono, item.MontoTotal)); } contexto.SaveChanges(); foreach (var item in controller.GetList(x => x.EmpeñoId == cobro.EmpeñoId)) { if ((item.MontoTotal + Ganancia(item.Fecha, item.MontoTotal)) - item.Abono == 0) { controller.EliminarParaCobro(cobro.EmpeñoId); } } paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }
public bool Eliminar(int id) { bool paso = false; Contexto contexto = new Contexto(); EmpeñosController controller = new EmpeñosController(); try { Cobros cobro = contexto.Cobros.Find(id); if (cobro != null) { contexto.Empeños.Find(cobro.EmpeñoId).Abono -= cobro.Abono; foreach (var item in controller.GetList(x => x.EmpeñoId == cobro.EmpeñoId)) { contexto.Empeños.Find(cobro.EmpeñoId).UltimaFechadeVigencia = item.UltimaFechadeVigencia.AddDays(-AumentoDias(cobro.Abono, item.MontoTotal)); } contexto.Entry(cobro).State = EntityState.Deleted; } if (contexto.SaveChanges() > 0) { paso = true; contexto.Dispose(); } } catch (Exception) { throw; } return(paso); }
public bool Modificar(Cobros cobro) { bool paso = false; Contexto contexto = new Contexto(); EmpeñosController controller = new EmpeñosController(); try { Cobros Anterior = Buscar(cobro.CobroId); decimal diferencia; diferencia = Anterior.Abono + cobro.Abono; decimal otradif = Anterior.Abono - cobro.Abono; Empeños recibos = controller.Buscar(cobro.EmpeñoId); recibos.Abono = Math.Abs(recibos.Abono - diferencia); recibos.UltimaFechadeVigencia = recibos.UltimaFechadeVigencia.AddDays(-AumentoDias(Anterior.Abono, recibos.MontoTotal)); recibos.UltimaFechadeVigencia = recibos.UltimaFechadeVigencia.AddDays(AumentoDias(cobro.Abono, recibos.MontoTotal)); EmpeñosController.ModificarEspecial(recibos); foreach (var item in controller.GetList(x => x.EmpeñoId == cobro.EmpeñoId)) { if ((item.MontoTotal + Ganancia(item.Fecha, item.MontoTotal)) - item.Abono == 0) { controller.EliminarParaCobro(cobro.EmpeñoId); } } contexto.Entry(cobro).State = EntityState.Modified; if (contexto.SaveChanges() > 0) { paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }
public static bool ModificarEspecial(Empeños Empeño) { bool paso = false; Contexto contexto = new Contexto(); EmpeñosController controller = new EmpeñosController(); try { Empeños Anterior = controller.Buscar(Empeño.EmpeñoId); decimal diferencia; diferencia = Anterior.Abono - Empeño.Abono; Empeños recibos = controller.Buscar(Empeño.EmpeñoId); recibos.Abono = Math.Abs(recibos.Abono - diferencia); contexto.Entry(Empeño).State = EntityState.Modified; if (contexto.SaveChanges() > 0) { paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }