示例#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);
        }
        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);
        }