public async Task <IActionResult> Create([Bind("EngId,SubstituteId,StartDate,EndDate")] EngSubStaff engSubStaff)
        {
            if (ModelState.IsValid)
            {
                _context.Add(engSubStaff);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            var user = _context.AppUsers.Where(a => a.UserName == User.Identity.Name).First();
            /* Get all engineers by role. */
            var allEngs = roleManager.GetUsersInRole("RepEngineer").ToList();
            List <SelectListItem> list = new List <SelectListItem>();
            SelectListItem        li   = new SelectListItem();

            foreach (string l in allEngs)
            {
                var u = _context.AppUsers.Where(a => a.UserName == l).FirstOrDefault();
                if (u != null)
                {
                    li       = new SelectListItem();
                    li.Text  = u.FullName;
                    li.Value = u.Id.ToString();
                    list.Add(li);
                }
            }
            ViewData["EngId"]        = user.Id;
            ViewData["SubstituteId"] = new SelectList(list, "Value", "Text");
            return(View(engSubStaff));
        }
        public async Task <IActionResult> Edit(int id, [Bind("EngId,SubstituteId,StartDate,EndDate")] EngSubStaff engSubStaff)
        {
            if (id != engSubStaff.EngId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(engSubStaff);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EngSubStaffExists(engSubStaff.EngId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            /* Get all engineers by role. */
            var allEngs = roleManager.GetUsersInRole("RepEngineer").ToList();
            List <SelectListItem> list = new List <SelectListItem>();
            SelectListItem        li   = new SelectListItem();

            foreach (string l in allEngs)
            {
                var u = _context.AppUsers.Where(a => a.UserName == l).FirstOrDefault();
                if (u != null)
                {
                    li       = new SelectListItem();
                    li.Text  = u.FullName;
                    li.Value = u.Id.ToString();
                    list.Add(li);
                }
            }
            ViewData["SubstituteId"] = new SelectList(list, "Value", "Text");
            return(View(engSubStaff));
        }