/// <summary>
        /// Проверяет наличие у пользователя наличия документов указанной группы типов
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="fileDataTypeGroup"></param>
        /// <returns></returns>
        public bool IsLoadedUserDocument(string userName, FileDataTypeGroupEnum fileDataTypeGroup)
        {
            var appUser = GetAppUser(userName);

            if (appUser == null)
            {
                throw new Exception($"Пользователь {userName} не найден!");
            }

            bool isLoadedUserDocuments = IsLoadedUserDocument(appUser, fileDataTypeGroup);

            return(isLoadedUserDocuments);
        }
        /// <summary>
        /// Проверяет наличие у пользователя документов указанной группы типов
        /// </summary>
        /// <param name="appUser"></param>
        /// <param name="fileDataTypeGroup"></param>
        /// <returns></returns>
        public bool IsLoadedUserDocument(AppUser appUser, FileDataTypeGroupEnum fileDataTypeGroup)
        {
            var fileDataTypes = _fileModelRepository.GetFileDataTypes(fileDataTypeGroup);

            foreach (var fileDataType in fileDataTypes)
            {
                bool isLoadedFile = appUser.UserDocuments.Any(u =>
                                                              u.FileDataTypeId == fileDataType.FileDataTypeId);

                if (isLoadedFile)
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #3
0
        /// <summary>
        /// Возвращает типы файлов для заданной группы
        /// </summary>
        /// <param name="fileDataTypeGroup"></param>
        /// <returns></returns>
        public IQueryable <FileDataType> GetFileDataTypes(FileDataTypeGroupEnum fileDataTypeGroup)
        {
            var fileDataTypes = _context.FileDataTypes.Where(f => f.FileDataTypeGroupId == (int)fileDataTypeGroup);

            return(fileDataTypes);
        }
        /// <summary>
        /// Возвращает документы пользователя указанного типа
        /// </summary>
        /// <param name="educationDocuments"></param>
        /// <returns></returns>
        private IQueryable <UserDocument> GetUserDocuments(FileDataTypeGroupEnum fileDataTypeGroup)
        {
            var userDocuments = UserDocuments.Where(ud => ud.FileDataType.FileDataTypeGroupId == (int)fileDataTypeGroup);

            return(userDocuments);
        }