Esempio n. 1
0
        public User CreateEntityFromRequest(AdminDemoteRequest request, User entity)
        {
            entity.UpdatedBy = request.CurrentUserId;
            entity.IsAdmin   = false;

            return(entity);
        }
Esempio n. 2
0
        public async Task <AdminDemoteResponse> DemoteToUser(AdminDemoteRequest request)
        {
            var response = new AdminDemoteResponse();

            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.IsSuperAdmin = false;
            var result = await _userRepository.Update(request.CurrentUserId, user);

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

                response.Item   = _userFactory.CreateDtoFromEntity(user);
                response.Status = ResponseStatus.Success;
                return(response);
            }

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

            var adminUid = id;

            if (adminUid.IsEmptyGuid())
            {
                return(Json(commonResult));
            }

            var request  = new AdminDemoteRequest(CurrentUser.Id, adminUid);
            var response = await _adminService.DemoteToUser(request);

            if (response.Status.IsNotSuccess)
            {
                commonResult.Messages = response.ErrorMessages;
                return(Json(commonResult));
            }

            commonResult.IsOk = true;
            return(Json(commonResult));
        }
        public static AdminDemoteRequest GetAdminDemoteRequest()
        {
            var request = new AdminDemoteRequest(CurrentUserId, UidOne);

            return(request);
        }