示例#1
0
        public static bool Delete(int id)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                var       compra = Search(id);
                Productos producto;
                ICollection <ComprasDetalle> viejosDetalles = Search(compra.CompraId).Detalle;
                foreach (ComprasDetalle d in viejosDetalles)
                {
                    producto = ProductosBLL.Search(d.ProductoId);
                    if (producto != null)
                    {
                        producto.Cantidad -= d.Cantidad;
                        ProductosBLL.Save(producto);
                    }
                }
                if (compra != null)
                {
                    contexto.Entry(compra).State = EntityState.Deleted;
                    paso = contexto.SaveChanges() > 0;
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
示例#2
0
        private static bool Insert(Compras compra)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                contexto.Compras.Add(compra);
                paso = contexto.SaveChanges() > 0;
                Productos producto;
                ICollection <ComprasDetalle> detalle = compra.Detalle;
                foreach (ComprasDetalle m in detalle)
                {
                    producto           = ProductosBLL.Search(m.ProductoId);
                    producto.Cantidad += m.Cantidad;
                    ProductosBLL.Save(producto);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
示例#3
0
        public static bool Modify(Compras compra)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                Productos producto;
                ICollection <ComprasDetalle> detalle = Search(compra.CompraId).Detalle;
                foreach (ComprasDetalle m in detalle)
                {
                    producto           = ProductosBLL.Search(m.ProductoId);
                    producto.Cantidad += m.Cantidad;
                    ProductosBLL.Save(producto);
                }
                contexto.Database.ExecuteSqlRaw($"Delete FROM ComprasDetalle Where CompraId={compra.CompraId}");
                foreach (var item in compra.Detalle)
                {
                    contexto.Entry(item).State = EntityState.Added;
                }
                ICollection <ComprasDetalle> nuevo = compra.Detalle;
                foreach (ComprasDetalle m in nuevo)
                {
                    producto           = ProductosBLL.Search(m.ProductoId);
                    producto.Cantidad -= m.Cantidad;
                    ProductosBLL.Save(producto);
                }
                contexto.Entry(compra).State = EntityState.Modified;
                paso = contexto.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }