public static bool Modificar(Pagos pagos)
        {
            bool     paso = false;
            Contexto db   = new Contexto();


            try
            {
                Pagos    pagosTemp = db.pagos.Find(pagos.PagoId);
                Clientes clientes  = ClienteBLL.Buscar(pagosTemp.ClienteId);

                clientes.Deuda          += pagosTemp.Monto;
                db.Entry(clientes).State = EntityState.Modified;

                paso = db.SaveChanges() > 0;

                if (paso)
                {
                    db = new Contexto();
                    db.clientes.Find(pagos.ClienteId).Deuda -= pagos.Monto;
                    db.Entry(pagos).State = EntityState.Modified;
                    paso = db.SaveChanges() > 0;
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }

            return(paso);
        }
        public static bool Modificar(Facturas facturas)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            try
            {
                Facturas facturaAnterior = db.facturas.Where(e => e.FacturaId == facturas.FacturaId)
                                           .Include(f => f.Factura_Detalle)
                                           .FirstOrDefault();


                if (facturas.FacturaCredito != false)
                {
                    var clientes = ClienteBLL.Buscar(facturaAnterior.ClienteId);
                    clientes.Deuda -= facturaAnterior.Total;
                    ClienteBLL.Guardar(clientes);
                }


                db = new Contexto();
                foreach (var item in facturaAnterior.Factura_Detalle)
                {
                    if (!facturas.Factura_Detalle.Any(f => f.Id == item.Id))
                    {
                        db.articulos.Find(item.ArticuloId).Existencia += item.Cantidad;
                        db.Entry(item).State = EntityState.Deleted;
                    }
                }

                foreach (var item in facturas.Factura_Detalle)
                {
                    if (item.Id == 0)
                    {
                        db.articulos.Find(item.ArticuloId).Existencia -= item.Cantidad;
                        db.Entry(item).State = EntityState.Added;
                    }
                    else
                    {
                        db.Entry(item).State = EntityState.Modified;
                    }
                }


                if (facturas.FacturaCredito != false)
                {
                    db.clientes.Find(facturas.ClienteId).Deuda += facturas.Total;
                }

                db.Entry(facturas).State = EntityState.Modified;
                paso = db.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }

            finally
            {
                db.Dispose();
            }
            return(paso);
        }