Exemplo n.º 1
0
        /// <summary>
        /// Определяет содержится ли объект в таблице соответствий
        /// </summary>
        /// <param name="roleId">Идентификатор роли</param>
        /// <param name="userId">Идентификатор пользователя</param>
        /// <returns>Логической выражение содержится или нет</returns>
        public bool IsExist(Guid roleId, Guid userId)
        {
            string existQuery = string.Format(
                "SELECT COUNT(*) " +
                "FROM [dbo].[UserRole] AS ur " +
                "WHERE ur.user_id = '{0}' AND ur.role_id = '{1}'"
                , userId.ToString(), roleId.ToString());
            int count = (int)(dbContext.ExecuteScalar(existQuery, CommandType.Text));

            return(count > 0);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Функция определяет доступен ли элемент управления для роли
 /// </summary>
 /// <param name="module">Элемент управления</param>
 /// <param name="role">Роль пользователя</param>
 /// <returns>Логическое значение доступен элемент или нет</returns>
 public bool ControlAvailable(Module module, Role role)
 {
     int count = (int)dbContext.ExecuteScalar(string.Format(
         "SELECT COUNT(*) " +
         "FROM [dbo].[ModuleRole] AS mr " +
         "WHERE module_id = '{0}' AND role_id = '{1}'", module.Id.ToString(), role.Id.ToString())
         , System.Data.CommandType.Text);
     if (count == 1) return true;
     else if (count == 0) return false;
     else throw new Exception(string.Format("Невозможно определить права для {0} и {1}.", module.Name, role.Name));
 }
Exemplo n.º 3
0
        /// <summary>
        /// Добавление новой роли в таблицу
        /// </summary>
        /// <param name="role">Объект класса Role</param>
        /// <returns>ID новой записи</returns>
        /// <exception cref="System.ArgumentNullException">Исключение выбрасывается когда параметр role равен null</exception>
        public Guid Add(Role role)
        {
            string recordId;

            if (role == null)
            {
                throw new ArgumentNullException("role");
            }

            string queryRole = String.Format(
                "INSERT INTO [dbo].[Role] " +
                "([id] ,[name] ,[description] ,[creator_id], [create_date]) " +
                "VALUES " +
                "(@id ,@name ,@description, '{0}', GETDATE()) " +
                "SELECT @id ", ((DBUser)CurrentUser.Instance).Id);
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();

            role.toDictionary(paramsDictionary);

            recordId = dbContext.ExecuteScalar(queryRole, CommandType.Text, paramsDictionary).ToString();
            return(Guid.Parse(recordId));
        }