/// <summary> /// Metoda care intoarce lista de roluri a unui anumit utilizator. /// </summary> /// <param name="username">username-ul utilizatorului</param> /// <returns>lista de roluri pe care le are utilizatorul</returns> public override string[] GetRolesForUser(string username) { string[] rolesForUser = new string[10000]; using (ITeamEntities context = new ITeamEntities()) { List<IEnumerable<string>> roles = context.Utilizatoris.Where(r => r.numeUtilizator == username).Select(s => s.Roluris.Select(u => u.numeRol)).ToList(); List<string> list = new List<string>(); foreach (IEnumerable<string> r in roles) { list.AddRange(r); } rolesForUser = list.ToArray(); } return rolesForUser; }
/// <summary> /// Metoda care intoarce lista de utilizatori cu un anumit rol. /// </summary> /// <param name="roleName">numele rolului pentru care vrem sa aflam userii</param> /// <returns>lista cu toti userii cu rolul 'roleName'</returns> public override string[] GetUsersInRole(string roleName) { string[] usersInRole = new string[10000]; using (ITeamEntities context = new ITeamEntities()) { List<IEnumerable<string>> userInRole = context.Roluris.Where(s => s.numeRol == roleName).Select(r => r.Utilizatoris.Select(u=>u.numeUtilizator)).ToList(); List<string> list = new List<string>(); ; foreach (IEnumerable<string> s in userInRole) { list.AddRange(s); } usersInRole = list.ToArray(); } return usersInRole; }
/// <summary> /// Metoda care valideaza un user atunci cand acesta incearca sa se logheze. /// </summary> /// <param name="username">username-ul introdus in formular de login</param> /// <param name="password">parola introdusa in formularul de login</param> /// <returns>true daca utilizatorul este valid si false, altfel</returns> public override bool ValidateUser(string username, string password) { string encryptedPass = encryptUserPassword(password); using (ITeamEntities context = new ITeamEntities()) { var userQuery = from Utilizatori in context.Utilizatoris where Utilizatori.numeUtilizator == username && Utilizatori.parola == encryptedPass && Utilizatori.isDeleted == false select Utilizatori; if (userQuery.Count() > 0) { return true; } else { return false; } } }