Esempio n. 1
0
        public void UpdateAdmin(EditAdminData data)
        {
            var validationResult = new EditAdminValidator().Validate(data);

            if (!validationResult.IsValid)
            {
                throw new RegoException(validationResult.Errors.First().ErrorMessage);
            }

            var admin = _repository.GetAdminById(data.Id);

            //todo: KB: should be handled by EditAdminValidator
            if (admin == null)
            {
                throw new RegoException(string.Format("User with id: {0} not found", data.Id));
            }

            var role = _repository.Roles.SingleOrDefault(r => r.Id == data.RoleId);

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                admin.Username    = data.Username;
                admin.FirstName   = data.FirstName;
                admin.LastName    = data.LastName;
                admin.IsActive    = data.IsActive;
                admin.Language    = data.Language;
                admin.Description = data.Description;

                //todo: KB: should be handled by EditAdminValidator
                if (role != null)
                {
                    admin.Role = role;
                }

                admin.SetLicensees(data.AssignedLicensees);

                admin.SetAllowedBrands(data.AllowedBrands);

                admin.SetCurrencies(data.Currencies);

                if (data.RoleId != role.Id)
                {
                    _authCommands.AssignRoleToActor(new AssignRole
                    {
                        ActorId = admin.Id,
                        RoleId  = role.Id
                    });
                }

                _repository.SaveChanges();

                _eventBus.Publish(new AdminUpdated(admin));

                scope.Complete();
            }
        }
Esempio n. 2
0
        public IHttpActionResult UpdateUser(EditAdminData data)
        {
            VerifyPermission(Permissions.Update, Modules.AdminManager);

            var validationResult = _adminQueries.GetValidationResult(data);

            if (!validationResult.IsValid)
            {
                return(Ok(ValidationExceptionResponse(validationResult.Errors)));
            }

            _adminCommands.UpdateAdmin(data);

            return(Ok(new { result = "success" }));
        }
Esempio n. 3
0
        public ValidationResult GetValidationResult(EditAdminData data)
        {
            var validator = new EditAdminValidator();

            return(validator.Validate(data));
        }
Esempio n. 4
0
 public HttpResponseMessage UpdateUserInAdminManager(EditAdminData request)
 {
     return(WebClient.SecurePostAsJson <EditAdminData, HttpResponseMessage>(Token, _url + AdminApiRoutes.UpdateUserInAdminManager, request));
 }