// GET: Users/Edit/5 public async Task <IActionResult> Edit(string?id) { User me = UserHelper.GetCurrentUser(User, db); if (!User.IsInRole("DM")) { id = me.UserId; } else if (id == null) { id = me.UserId; } if (id == null) { return(NotFound()); } var edituser = await db.Users.FindAsync(id); List <UserPoco> ups = await GetAllUsers(); if (edituser == null) { if (ups.Where(m => m.username == id).Any()) { UserPoco up = ups.Where(m => m.id == id).First(); User u = new User(); u.Name = up.lastName; u.FirstName = up.firstName; u.Email = up.email; u.UserId = up.id; u.Status = db.Statuses.Where(m => m.Id == StatusEnum.unchanged).FirstOrDefault(); db.Users.Add(u); db.SaveChanges(); edituser = u; } } EditUserViewModel euvm = new EditUserViewModel() { UserId = edituser.UserId, Email = edituser.Email, FirstName = edituser.FirstName, Name = edituser.Name, enabled = ups.Where(m => m.username == edituser.UserId).FirstOrDefault().enabled, roles = ups.Where(m => m.username == edituser.UserId).FirstOrDefault().roles }; return(View(euvm)); }