Esempio n. 1
0
        public async Task <UserChangeActivationResponse> ChangeActivation(UserChangeActivationRequest request)
        {
            var response = new UserChangeActivationResponse();

            var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId);

            if (!currentUser.IsSuperAdmin)
            {
                response.SetInvalid();
                return(response);
            }

            var user = await _userRepository.Select(x => x.Uid == request.UserUid);

            if (user.IsNotExist())
            {
                response.SetInvalidBecauseNotFound("user");
                return(response);
            }

            user.IsActive = !user.IsActive;
            var result = await _userRepository.Update(request.CurrentUserId, user);

            if (result)
            {
                _cacheManager.UpsertUserCache(user, _userFactory.MapCurrentUser(user));

                response.Status = ResponseStatus.Success;
                return(response);
            }

            response.SetFailed();
            return(response);
        }
Esempio n. 2
0
        public async Task <IActionResult> ChangeActivation(Guid id)
        {
            var model = new CommonResult {
                IsOk = false
            };

            var userUid = id;

            if (userUid.IsEmptyGuid())
            {
                return(Json(model));
            }

            var request  = new UserChangeActivationRequest(CurrentUser.Id, userUid);
            var response = await OrganizationService.ChangeActivationForUser(request);

            if (response.Status.IsNotSuccess)
            {
                return(Json(model));
            }

            model.IsOk = true;
            CurrentUser.IsActionSucceed = true;
            return(Json(model));
        }
        public async Task <UserChangeActivationResponse> ChangeActivationForUser(UserChangeActivationRequest request)
        {
            var response = new UserChangeActivationResponse();

            var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId);

            if (!currentUser.IsAdmin)
            {
                response.SetInvalid();
                return(response);
            }

            if (await _organizationRepository.Any(x => x.Id == currentUser.OrganizationId && !x.IsActive))
            {
                response.SetInvalid();
                response.ErrorMessages.Add("organization_not_found");
                return(response);
            }

            var entity = _cacheManager.GetCachedUser(request.UserUid);

            if (entity.OrganizationId != currentUser.OrganizationId)
            {
                response.SetInvalid();
                return(response);
            }

            entity.IsActive = !entity.IsActive;

            var result = await _userRepository.Update(request.CurrentUserId, entity);

            if (result)
            {
                _cacheManager.UpsertUserCache(entity, currentUser);

                response.Status = ResponseStatus.Success;
                return(response);
            }

            response.SetFailed();
            return(response);
        }
Esempio n. 4
0
        public async Task <IActionResult> ChangeActivation(Guid id)
        {
            var adminUid = id;

            if (adminUid.IsEmptyGuid())
            {
                return(Forbid());
            }

            var request  = new UserChangeActivationRequest(CurrentUser.Id, adminUid);
            var response = await _adminService.ChangeActivation(request);

            if (response.Status.IsNotSuccess)
            {
                return(Json(new CommonResult {
                    IsOk = false, Messages = response.ErrorMessages
                }));
            }

            return(Json(new CommonResult {
                IsOk = true
            }));
        }
        public static UserChangeActivationRequest GetUserChangeActivationRequest()
        {
            var request = new UserChangeActivationRequest(CurrentUserId, UidOne);

            return(request);
        }