/// <summary> /// Tem perfil? /// </summary> /// <param name="r"></param> /// <param name="l"></param> /// <returns></returns> public void AddProfileRole(ProfileRole.Role r, RacMsg.Language l) { if (l == RacMsg.Language.Indifferent) { for (int i = 0; i < roles.Count; i++) { if (roles[i].role == r) { return; } } } else { for (int i = 0; i < roles.Count; i++) { if (roles[i].role == r && roles[i].language == l) { return; } } } ProfileRole p = new ProfileRole(this); p.role = r; p.language = l; roles.Add(p); }
/// <summary> /// Tem perfil? /// </summary> /// <param name="r"></param> /// <param name="l"></param> /// <returns></returns> public bool HasProfileRole(ProfileRole.Role r, RacMsg.Language l) { if (l == RacMsg.Language.Indifferent) { for (int i = 0; i < roles.Count; i++) { if (roles[i].role == r) { return(true); } } } else { for (int i = 0; i < roles.Count; i++) { if (roles[i].role == r && roles[i].language == l) { return(true); } } } return(false); }
/// <summary> /// Tem perfil? /// </summary> /// <param name="r"></param> /// <param name="l"></param> /// <returns></returns> public void RemoveProfileRole(ProfileRole.Role r, RacMsg.Language l) { if (l == RacMsg.Language.Indifferent) { for (int i = 0; i < roles.Count; i++) { if (roles[i].role == r) { roles.RemoveAt(i); return; } } } else { for (int i = 0; i < roles.Count; i++) { if (roles[i].role == r && roles[i].language == l) { roles.RemoveAt(i); return; } } } }
/// <summary> /// Todos os perfis cadastrados /// </summary> public static List <BaseUser> GetUsersWithRole(ProfileRole.Role r) { List <BaseUser> lst = new List <BaseUser>(); List <string> ids = new List <string>(); SqlCommand sel = new SqlCommand(); sel.CommandText = "SELECT id FROM " + Base.conf.prefix + "[racwebuser] WHERE id IN (SELECT id FROM " + Base.conf.prefix + "[newsprofilerole] WHERE role=@role)"; sel.Parameters.Add(new SqlParameter("@role", (int)r)); sel.Connection = Base.conf.Open(); SqlDataReader rdr = sel.ExecuteReader(); while (rdr.Read()) { string s = rdr.GetString(0); ids.Add(s); } rdr.Close(); sel.Connection.Close(); for (int i = 0; i < ids.Count; i++) { BaseUser u = BaseUserSource.source.LoadUser(ids[i]); if (u != null) { lst.Add(u); } } return(lst); }