/// <summary>
        /// Удаляет аккаунт пользователя и все связанные данные
        /// </summary>
        /// <param name="userName"></param>
        /// <returns></returns>
        public async Task RemoveAppUserAsync(string userName)
        {
            var appUser = GetAppUser(userName);

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

            // Удаление данных абитуриента
            if (appUser.Abiturient != null)
            {
            }

            // Удаляем все пользовательские сообщения
            var userMessages = await _context.UserMessages
                               .Where(um => um.UserSenderId == appUser.Id || um.UserReceiverId == appUser.Id)
                               .ToListAsync();

            _context.UserMessages.RemoveRange(userMessages);
            await _context.SaveChangesAsync();

            //// Удаляем все групповые сообщения // Удаляется автоматически
            //if (appUser.MessagesFromAppUserToStudentGroups != null && appUser.MessagesFromAppUserToStudentGroups.Count > 0)
            //{

            //}
            if (appUser.UserDocuments != null && appUser.UserDocuments.Count > 0)
            {
                await _fileModelRepository.RemoveUserDocumentsAsync(appUser.UserDocuments);
            }

            // Удаление работ пользователя
            if (appUser.UserWorks != null && appUser.UserWorks.Count > 0)
            {
                await RemoveUserWorksAsync(appUser.UserWorks);
            }

            // Удаление повышений квалификации
            if (appUser.RefresherCourses != null && appUser.RefresherCourses.Count > 0)
            {
                await RemoveRefresherCoursesAsync(appUser.RefresherCourses);
            }

            // Удаление профессиональной переподготовки
            if (appUser.ProfessionalRetrainings != null && appUser.ProfessionalRetrainings.Count > 0)
            {
                await RemoveProfessionalRetrainingsAsync(appUser.ProfessionalRetrainings);
            }

            _context.Users.Remove(appUser);
            await _context.SaveChangesAsync();

            //var user = userProfileRepository.GetAppUser(userName);

            //if (user!=null)
            //{
            //    IdentityResult result = await userManager.DeleteAsync(user);
            //    if (result.Succeeded)
            //        return RedirectToAction(nameof(Search));
            //    else
            //        AddErrorsFromResult(result);
            //}
            //else
            //{
            //    ModelState.AddModelError("", "Пользователь не найден");
            //}
        }