コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 /// <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;
             }
         }
     }
 }
コード例 #4
0
        /// <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);
        }