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);
        }