예제 #1
0
        public bool Eliminar(int id)
        {
            bool                 paso = false;
            Contexto             db   = new Contexto();
            ControllersProductos controllersproductos = new ControllersProductos();

            try
            {
                var venta = db.Pedidos.Find(id);
                foreach (var item in venta.Detalles)
                {
                    var producto = controllersproductos.Buscar(item.ProductoId);
                    producto.Cantidad += item.Cantidad;
                    controllersproductos.Modificar(producto);
                }
                db.Entry(venta).State = EntityState.Deleted;
                paso = (db.SaveChanges() > 0);
            }
            catch (Exception)
            {
                throw;
            }

            return(paso);
        }
예제 #2
0
        public bool Modificar(Pedidos pedidos)
        {
            bool                 paso = false;
            Contexto             db   = new Contexto();
            ControllersProductos controllersproductos = new ControllersProductos();



            try
            {
                if (pedidos != null)
                {
                    foreach (var item in pedidos.Detalles)
                    {
                        db.Productos.Find(item.ProductoId).Cantidad += item.Cantidad;

                        if (!pedidos.Detalles.ToList().Exists(v => v.PedidosDetalleId == item.PedidosDetalleId))
                        {
                            db.Entry(item).State = EntityState.Deleted;
                        }
                    }

                    foreach (var item in pedidos.Detalles)
                    {
                        db.Productos.Find(item.ProductoId).Cantidad -= item.Cantidad;
                        var estado = item.PedidosDetalleId > 0 ? EntityState.Modified : EntityState.Added;

                        db.Entry(item).State = estado;
                    }

                    db.Entry(pedidos).State = EntityState.Modified;
                }

                if (db.SaveChanges() > 0)
                {
                    paso = true;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }
예제 #3
0
        public bool Guardar(Pedidos pedidos)
        {
            bool paso = false;
            ControllersProductos Controproductos = new ControllersProductos();
            Productos            productos       = new Productos();
            Contexto             db = new Contexto();

            try
            {
                foreach (var item in pedidos.Detalles)
                {
                    var producto = Controproductos.Buscar(pedidos.ProductoId);
                    producto.Cantidad -= item.Cantidad;
                    Controproductos.Modificar(producto);
                }
                db.Pedidos.Add(pedidos);
                paso = db.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }