public async Task <IActionResult> Disabse(string id, [FromBody] DisableUserRequest request)
        {
            request.UserId = id;
            var responseModel = await _identityService.DisableUserAsync(request);

            return(new CustomActionResult(responseModel));
        }
예제 #2
0
        public async Task <DisableUserResponse> DisableUser(DisableUserRequest request)
        {
            var session = await _sessionService.GetAuthenticatedSession();

            var response = new DisableUserResponse();

            UserEntity user;

            using (var uow = _uowFactory.GetUnitOfWork())
            {
                user = await uow.UserRepo.GetUserById(new Infrastructure.Repositories.UserRepo.Models.GetUserByIdRequest()
                {
                    Id = request.Id
                });

                await uow.UserRepo.DisableUser(new Infrastructure.Repositories.UserRepo.Models.DisableUserRequest()
                {
                    Id         = request.Id,
                    Updated_By = session.User.Entity.Id
                });

                uow.Commit();

                await _sessionService.WriteSessionLogEvent(new Models.ServiceModels.Session.CreateSessionLogEventRequest()
                {
                    EventKey = SessionEventKeys.UserDisabled
                });
            }

            response.Notifications.Add($"User '{user.Username}' has been disabled", NotificationTypeEnum.Success);
            return(response);
        }
        public async Task <IActionResult> DisableUser(DisableUserRequest request)
        {
            if (ModelState.IsValid)
            {
                var response = await _adminService.DisableUser(request);

                AddNotifications(response);
            }
            return(RedirectToAction(nameof(AdminController.UserManagement)));
        }
예제 #4
0
        public ManagerResponse <DisableUserResult, CommerceUser> DisableUser(CommerceUser commerceUser)
        {
            Assert.ArgumentNotNull(commerceUser, nameof(commerceUser));

            var disableUserRequest = new DisableUserRequest(commerceUser);

            var disableUserResult = this.customerServiceProvider.DisableUser(disableUserRequest);

            if (!disableUserResult.Success)
            {
                Log.Warn("Disable user failed", this.GetType());
            }

            return(new ManagerResponse <DisableUserResult, CommerceUser>(disableUserResult, disableUserResult.CommerceUser));
        }
예제 #5
0
        public async Task <IActionResult> DisableUser(Guid userAccountId)
        {
            var request = new DisableUserRequest
            {
                userAccountId = userAccountId
            };

            var model = new DisableUserCommandRequest
            {
                TransferObject = request
            };
            var result = await Mediator.Send(model);

            return(HandleResponse(result, r => r));
        }
예제 #6
0
        public async Task DisableUser(DisableUserRequest request)
        {
            var sqlStoredProc = "sp_user_disable";

            var response = await DapperAdapter.GetFromStoredProcAsync <int>
                           (
                storedProcedureName : sqlStoredProc,
                parameters : request,
                dbconnectionString : DefaultConnectionString,
                sqltimeout : DefaultTimeOut,
                dbconnection : _connection,
                dbtransaction : _transaction);

            if (response == null || response.First() == 0)
            {
                throw new Exception("No items have been disabled");
            }
        }
예제 #7
0
        public async Task <ResponseModel> DisableUserAsync(DisableUserRequest request)
        {
            var user = await _userManager.Users.Where(x => x.Id == request.UserId && x.IsActive).FirstOrDefaultAsync();

            if (user == null)
            {
                return(new ResponseModel()
                {
                    StatusCode = System.Net.HttpStatusCode.NotFound,
                    Message = "Tài khoản này không tìm thấy hoặc đã bị khoá"
                });
            }

            var roles = await _userManager.GetRolesAsync(user);

            if (roles.Any(x => x == CommonConstants.Roles.SUPER_ADMIN))
            {
                return(new ResponseModel()
                {
                    StatusCode = System.Net.HttpStatusCode.BadRequest,
                    Message = "Bạn không thể xoá tài khoản này"
                });
            }

            user.IsActive = request.IsActive;
            await _userManager.UpdateAsync(user);

            // SEND NOTIFICATION HERE

            //

            return(new ResponseModel()
            {
                StatusCode = System.Net.HttpStatusCode.OK,
                Message = request.IsActive ? "Mở khoá tài khoản thành công" : "Khoá tài khoản thành công"
            });
        }
예제 #8
0
        public async Task <DisableUserResponse> DisableUser(DisableUserRequest request)
        {
            var sessionUser = await _sessionManager.GetUser();

            var response = new DisableUserResponse();

            UserEntity user;

            using (var uow = _uowFactory.GetUnitOfWork())
            {
                user = await uow.UserRepo.GetUserById(new Repositories.DatabaseRepos.UserRepo.Models.GetUserByIdRequest()
                {
                    Id = request.Id
                });

                await uow.UserRepo.DisableUser(new Repositories.DatabaseRepos.UserRepo.Models.DisableUserRequest()
                {
                    Id         = request.Id,
                    Updated_By = sessionUser.Id
                });

                uow.Commit();

                await _sessionManager.WriteSessionLogEvent(new Models.ManagerModels.Session.CreateSessionLogEventRequest()
                {
                    EventKey = SessionEventKeys.UserDisabled,
                    Info     = new Dictionary <string, string>()
                    {
                        { "User_Id", request.Id.ToString() }
                    }
                });
            }

            response.Notifications.Add($"User '{user.Username}' has been disabled", NotificationTypeEnum.Success);
            return(response);
        }