public async Task OnGetAsync() { ViewData["Title"] = "Home page"; Admins = await _userManager.GetUsersInRoleAsync("Admin"); Employees = await _userManager.GetUsersInRoleAsync("Employee"); Customers = await _userManager.GetUsersInRoleAsync("Customer"); NonRoleUsers = _userManager.Users.ToList(); NonRoleUsers = NonRoleUsers .Where(user => !Admins.Contains(user, new UserComparer()) && !Employees.Contains(user, new UserComparer()) && !Customers.Contains(user, new UserComparer())) .ToList(); IsUsers = Admins.Count() + Employees.Count + Customers.Count() + NonRoleUsers.Count() > 0; }
public void AddAdmin(string status) { string key = Encryption.GetUniqueKey(8); string flag = Encryption.GetUniqueKey(16); string sol = Encryption.GetUniqueKey(12); Admins.Add(new Admin() { Title = status, Key = key, Sol = sol, Flag = flag }); SaveChanges(); if (Accounts.Count() != 0 && Admins.Count() != 1) { var account = Accounts.ToList(); var admin = Admins.ToList(); for (int i = 0; i < account.Count(); i++) { var flags = admin[0].Flag; var logins = account[i].Login; var pass = Passwords.FirstOrDefault(c => c.Flag == flags && c.AccountID == Accounts.FirstOrDefault(a => a.Login == logins).AccountID).Passwords; var keyA = admin[0].Key; var solA = admin[0].Sol; Password password = new Password() { PasswordID = account.Count() + 1, AccountID = account[i].AccountID, Flag = flag, Passwords = Encryption.Encrypt(Encryption.Decrypt(pass, keyA, solA), key, sol) }; account[i].Passwords.Add(password); Passwords.Add(password); SaveChanges(); } } }