// GET: Units/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            //Is the user actually an admin
            if (!IsAdmin())
            {
                return(RedirectToAction("Index", "Home"));
            }

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

            var unit = await _context.Unit
                       .FirstOrDefaultAsync(m => m.ID == id);

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

            UnitDivision ud = new UnitDivision(_context)
            {
                unit = unit
            };

            ud.division = ud.GetDivisions(unit.DivisionID).First();
            return(View(ud));
        }
        public async Task <IActionResult> Edit(int id, UnitDivision ud)
        {
            //Is the user actually an admin
            if (!IsAdmin())
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (id != ud.unit.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(ud.unit);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UnitExists(ud.unit.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(ud.unit));
        }
        public async Task <IActionResult> Create(UnitDivision ud)
        {
            //Is the user actually an admin
            if (!IsAdmin())
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                _context.Add(ud.unit);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(ud.unit));
        }
        // GET: Units
        public async Task <IActionResult> Index()
        {
            //Is the user actually an admin
            if (!IsAdmin())
            {
                return(RedirectToAction("Index", "Home"));
            }

            List <UnitDivision> uds = new List <UnitDivision>();

            foreach (Unit unit in await _context.Unit.Where(unit => unit.DateDeleted == null).ToListAsync())
            {
                UnitDivision ud = new UnitDivision(_context)
                {
                    unit = unit
                };
                ud.division = ud.GetDivisions(unit.DivisionID).Where(division => division.DateDeleted == null).First();
                uds.Add(ud);
            }

            return(View(uds));
        }