// GET: Positions/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            PositionDetailViewModel position = new PositionDetailViewModel();

            position.Position = await _context.Positions
                                .Include(p => p.Pallet)
                                .ThenInclude(pi => pi.PalletItems)
                                .ThenInclude(s => s.StockItem)
                                .FirstOrDefaultAsync(m => m.Id == id);

            if (position == null)
            {
                return(NotFound());
            }

            //ViewData["ID"] bliver grebet i Frontend med aps-item="Viewbag."ID"" vælger kun pallet med rackposition = null (så paller uden position)
            ViewData["PalletId"] = new SelectList(_context.Pallets.Where(r => r.RackPosition == null), "Id", "Id", position.Position.PalletId);

            return(View(position));
        }
        // GET: Positions/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            PositionDetailViewModel position = new PositionDetailViewModel();

            if (id == null)
            {
                return(NotFound());
            }
            position.Position = await _context.Positions
                                .Include(p => p.Pallet)
                                .ThenInclude(pi => pi.PalletItems)
                                .ThenInclude(s => s.StockItem)
                                .FirstOrDefaultAsync(m => m.Id == id);

            if (position == null)
            {
                return(NotFound());
            }

            return(View(position));
        }
        public IActionResult Edit(int id, [Bind("Id,Position,Pallet,")] PositionDetailViewModel vm)
        {
            if (id != vm.Position.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    vm.Position.Available  = false;
                    vm.Position.PalletId   = vm.Pallet.Id;
                    vm.Pallet.RackPosition = vm.Position.RackPosition;

                    _context.Update(vm.Position);
                    _context.Update(vm.Pallet);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PositionExists(vm.Position.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index", "Positions", new { id = vm.Position.RackId }));
            }
            //ViewData["ID"] bliver grebet i Frontend med aps-item="Viewbag."ID"" vælger kun pallet med rackposition = null (så paller uden position)
            ViewData["PalletId"] = new SelectList(_context.Pallets.Where(r => r.RackPosition == null), "Id", "Id", vm.Position.PalletId);
            return(View(vm.Position));
        }