public static bool Eliminar(int id) { bool paso = false; Contexto contexto = new Contexto(); try { Pagos cobro = contexto.cobro.Find(id); if (cobro != null) { contexto.recibos.Find(cobro.ReciboId).Abono -= cobro.Abono; foreach (var item in ReciboBLL.GetList(x => x.ReciboId == cobro.ReciboId)) { contexto.recibos.Find(cobro.ReciboId).UltimaFechadeVigencia = item.UltimaFechadeVigencia.AddDays(-AumentoDias(cobro.Abono, item.MontoTotal)); } contexto.activodenegocio.Find(cobro.ActivodeNegocioId).Activo -= cobro.Abono; contexto.Entry(cobro).State = EntityState.Deleted; } if (contexto.SaveChanges() > 0) { paso = true; contexto.Dispose(); } } catch (Exception) { throw; } return(paso); }
public static bool Editar(Pagos cobro) { bool paso = false; Contexto contexto = new Contexto(); try { Pagos Anterior = BLL.CobroBLL.Buscar(cobro.PagosId); decimal diferencia; diferencia = Anterior.Abono + cobro.Abono; decimal otradif = Anterior.Abono - cobro.Abono; Recibos recibos = ReciboBLL.Buscar(cobro.ReciboId); recibos.Abono = Math.Abs(recibos.Abono - diferencia); ActivodeNegocio negocio = BLL.ActivodeNegocioBLL.Buscar(cobro.ActivodeNegocioId); if (Anterior.Abono < cobro.Abono) { negocio.Activo += diferencia; } else { negocio.Activo = negocio.Activo - otradif; } recibos.UltimaFechadeVigencia = recibos.UltimaFechadeVigencia.AddDays(-AumentoDias(Anterior.Abono, recibos.MontoTotal)); recibos.UltimaFechadeVigencia = recibos.UltimaFechadeVigencia.AddDays(AumentoDias(cobro.Abono, recibos.MontoTotal)); ReciboBLL.ModEspecial(recibos); ActivodeNegocioBLL.Editar(negocio); foreach (var item in ReciboBLL.GetList(x => x.ReciboId == cobro.ReciboId)) { if ((item.MontoTotal + Ganancia(item.Fecha, item.MontoTotal)) - item.Abono == 0) { ReciboBLL.EliminarParaCobro(cobro.ReciboId); } } contexto.Entry(cobro).State = EntityState.Modified; if (contexto.SaveChanges() > 0) { paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }
public static bool Guardar(Pagos cobro) { bool paso = false; Contexto contexto = new Contexto(); try { ; if (contexto.cobro.Add(cobro) != null) { contexto.recibos.Find(cobro.ReciboId).Abono += cobro.Abono; foreach (var item in ReciboBLL.GetList(x => x.ReciboId == cobro.ReciboId)) { contexto.recibos.Find(cobro.ReciboId).UltimaFechadeVigencia = item.UltimaFechadeVigencia.AddDays(AumentoDias(cobro.Abono, item.MontoTotal)); } contexto.activodenegocio.Find(cobro.ActivodeNegocioId).Activo += cobro.Abono; contexto.SaveChanges(); foreach (var item in ReciboBLL.GetList(x => x.ReciboId == cobro.ReciboId)) { if ((item.MontoTotal + Ganancia(item.Fecha, item.MontoTotal)) - item.Abono == 0) { ReciboBLL.EliminarParaCobro(cobro.ReciboId); } } paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }
public static bool Editar(Recibos recibo) { bool paso = false; Contexto contexto = new Contexto(); try { var recibos = ReciboBLL.Buscar(recibo.ReciboId); if (recibos != null) { foreach (var item in recibos.Detalle) { contexto.articulos.Find(item.ArticuloId).Inventario -= item.Cantidad; if (!recibo.Detalle.ToList().Exists(v => v.ID == item.ID)) { item.articulos = null; contexto.Entry(item).State = EntityState.Deleted; } } foreach (var item in recibo.Detalle) { contexto.articulos.Find(item.ArticuloId).Inventario += item.Cantidad; var estado = item.ID > 0 ? EntityState.Modified : EntityState.Added; contexto.Entry(item).State = estado; } Recibos EntradaAnterior = Buscar(recibo.ReciboId); //identificar la diferencia ya sea restada o sumada decimal diferencia; diferencia = EntradaAnterior.MontoTotal - recibo.MontoTotal; //aplicar diferencia al inventario ActivodeNegocio activo = BLL.ActivodeNegocioBLL.Buscar(recibo.ActivodeNegocioId); activo.Activo += diferencia; BLL.ActivodeNegocioBLL.Editar(activo); contexto.Entry(recibo).State = EntityState.Modified; } if (contexto.SaveChanges() > 0) { paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }