Пример #1
0
        public async Task <IActionResult> Edit(string userId)
        {
            if (userId == null)
            {
                _loggerService.LogError("User id is null");

                return(NotFound());
            }
            var user = await _userService.GetUserAsync(userId);

            var currentUserId = _userManager.GetUserId(User);
            var currentUser   = await _userService.GetUserAsync(currentUserId);

            if (!(userId == currentUserId || await _userManagerService.IsInRoleAsync(currentUser, Roles.Admin)))
            {
                _loggerService.LogError($"User (id: {currentUserId}) hasn't access to edit profile (id: {userId})");
                return(StatusCode(StatusCodes.Status403Forbidden));
            }

            if (user != null)
            {
                var genders            = _mapper.Map <IEnumerable <GenderDTO>, IEnumerable <GenderViewModel> >(await _userPersonalDataService.GetAllGendersAsync());
                var placeOfStudyUnique = _mapper.Map <IEnumerable <EducationDTO>, IEnumerable <EducationViewModel> >(await _userPersonalDataService.GetAllEducationsGroupByPlaceAsync());
                var specialityUnique   = _mapper.Map <IEnumerable <EducationDTO>, IEnumerable <EducationViewModel> >(await _userPersonalDataService.GetAllEducationsGroupBySpecialityAsync());
                var placeOfWorkUnique  = _mapper.Map <IEnumerable <WorkDTO>, IEnumerable <WorkViewModel> >(await _userPersonalDataService.GetAllWorkGroupByPlaceAsync());
                var positionUnique     = _mapper.Map <IEnumerable <WorkDTO>, IEnumerable <WorkViewModel> >(await _userPersonalDataService.GetAllWorkGroupByPositionAsync());
                var upuDegrees         = _mapper.Map <IEnumerable <UpuDegreeDTO>, IEnumerable <UpuDegreeViewModel> >(await _userPersonalDataService.GetAllUpuDegreesAsync());

                var educView = new UserEducationViewModel {
                    PlaceOfStudyID = user.UserProfile.EducationId, SpecialityID = user.UserProfile.EducationId, PlaceOfStudyList = placeOfStudyUnique, SpecialityList = specialityUnique
                };
                var workView = new UserWorkViewModel {
                    PlaceOfWorkID = user.UserProfile.WorkId, PositionID = user.UserProfile.WorkId, PlaceOfWorkList = placeOfWorkUnique, PositionList = positionUnique
                };
                var model = new EditUserViewModel()
                {
                    User          = _mapper.Map <UserDTO, UserViewModel>(user),
                    Nationalities = _mapper.Map <IEnumerable <NationalityDTO>, IEnumerable <NationalityViewModel> >(await _userPersonalDataService.GetAllNationalityAsync()),
                    Religions     = _mapper.Map <IEnumerable <ReligionDTO>, IEnumerable <ReligionViewModel> >(await _userPersonalDataService.GetAllReligionsAsync()),
                    EducationView = educView,
                    WorkView      = workView,
                    Degrees       = _mapper.Map <IEnumerable <DegreeDTO>, IEnumerable <DegreeViewModel> >(await _userPersonalDataService.GetAllDegreesAsync()),
                    Genders       = genders,
                    UpuDegrees    = upuDegrees,
                };

                return(Ok(model));
            }
            _loggerService.LogError($"User not found. UserId:{userId}");
            return(NotFound());
        }
Пример #2
0
        public async Task <IActionResult> Edit(string userId)
        {
            if (userId == null)
            {
                _loggerService.LogError("User id is null");

                return(NotFound());
            }
            var user = await _userService.GetUserAsync(userId);

            if (user != null)
            {
                var genders            = _mapper.Map <IEnumerable <GenderDTO>, IEnumerable <GenderViewModel> >(await _userPersonalDataService.GetAllGendersAsync());
                var placeOfStudyUnique = _mapper.Map <IEnumerable <EducationDTO>, IEnumerable <EducationViewModel> >(await _userPersonalDataService.GetAllEducationsGroupByPlaceAsync());
                var specialityUnique   = _mapper.Map <IEnumerable <EducationDTO>, IEnumerable <EducationViewModel> >(await _userPersonalDataService.GetAllEducationsGroupBySpecialityAsync());
                var placeOfWorkUnique  = _mapper.Map <IEnumerable <WorkDTO>, IEnumerable <WorkViewModel> >(await _userPersonalDataService.GetAllWorkGroupByPlaceAsync());
                var positionUnique     = _mapper.Map <IEnumerable <WorkDTO>, IEnumerable <WorkViewModel> >(await _userPersonalDataService.GetAllWorkGroupByPositionAsync());

                var educView = new UserEducationViewModel {
                    PlaceOfStudyID = user.UserProfile.EducationId, SpecialityID = user.UserProfile.EducationId, PlaceOfStudyList = placeOfStudyUnique, SpecialityList = specialityUnique
                };
                var workView = new UserWorkViewModel {
                    PlaceOfWorkID = user.UserProfile.WorkId, PositionID = user.UserProfile.WorkId, PlaceOfWorkList = placeOfWorkUnique, PositionList = positionUnique
                };
                var model = new EditUserViewModel()
                {
                    User          = _mapper.Map <UserDTO, UserViewModel>(user),
                    Nationalities = _mapper.Map <IEnumerable <NationalityDTO>, IEnumerable <NationalityViewModel> >(await _userPersonalDataService.GetAllNationalityAsync()),
                    Religions     = _mapper.Map <IEnumerable <ReligionDTO>, IEnumerable <ReligionViewModel> >(await _userPersonalDataService.GetAllReligionsAsync()),
                    EducationView = educView,
                    WorkView      = workView,
                    Degrees       = _mapper.Map <IEnumerable <DegreeDTO>, IEnumerable <DegreeViewModel> >(await _userPersonalDataService.GetAllDegreesAsync()),
                    Genders       = genders,
                };

                return(Ok(model));
            }
            _loggerService.LogError($"User not found. UserId:{userId}");
            return(NotFound());
        }