コード例 #1
0
        private bool Modificar(Pagos pagos)
        {
            bool               paso = false;
            Contexto           db   = new Contexto();
            ComprasControllers comprasControllers = new ComprasControllers();

            try
            {
                var anterior = Buscar(pagos.PagoId);

                foreach (var item in anterior.PagosDetalles)
                {
                    var compras = comprasControllers.Buscar(item.CompraId);
                    compras.Balance += item.Pago;
                    comprasControllers.Guardar(compras);
                }

                foreach (var item in pagos.PagosDetalles)
                {
                    if (item.Id == 0)
                    {
                        db.Entry(item).State = EntityState.Added;
                    }
                }

                foreach (var item in anterior.PagosDetalles)
                {
                    if (!pagos.PagosDetalles.Any(A => A.Id == item.Id))
                    {
                        db.Entry(item).State = EntityState.Deleted;
                    }
                }

                db.Entry(pagos).State = EntityState.Modified;
                paso = db.SaveChanges() > 0;

                foreach (var item in pagos.PagosDetalles)
                {
                    var compras = comprasControllers.Buscar(item.CompraId);
                    compras.Balance -= item.Pago;
                    if (compras.Balance < 0)
                    {
                        compras.Balance = 0;
                    }
                    comprasControllers.Guardar(compras);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }
コード例 #2
0
        private bool Insertar(Pagos pagos)
        {
            bool               paso = false;
            Contexto           db   = new Contexto();
            ComprasControllers comprasControllers = new ComprasControllers();

            try
            {
                foreach (var item in pagos.PagosDetalles)
                {
                    Compras compras = comprasControllers.Buscar(item.CompraId);
                    compras.Balance -= item.Pago;
                    if (compras.Balance < 0)
                    {
                        compras.Balance = 0;
                    }
                    comprasControllers.Guardar(compras);
                }

                db.Pagos.Add(pagos);
                paso = db.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }
コード例 #3
0
        public bool Eliminar(int id)
        {
            bool               paso = false;
            Contexto           db   = new Contexto();
            ComprasControllers comprasControllers = new ComprasControllers();

            try
            {
                Pagos pagos = Buscar(id);
                if (pagos != null)
                {
                    foreach (var item in pagos.PagosDetalles)
                    {
                        Compras compras = comprasControllers.Buscar(item.CompraId);
                        compras.Balance += item.Pago;
                        comprasControllers.Guardar(compras);
                    }

                    db.Entry(pagos).State = EntityState.Deleted;
                    paso = db.SaveChanges() > 0;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }