예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }