コード例 #1
0
ファイル: RoleCommandHandler.cs プロジェクト: girvs/Girvs
        public async Task <bool> Handle(UpdateRoleUserCommand request, CancellationToken cancellationToken)
        {
            var role = await _roleRepository.GetRoleByIdIncludeUsersAsync(request.Id);

            role.Users.RemoveAll(x => !request.UserIds.Contains(x.Id));

            var userRoles = request.UserIds
                            .Where(userId => !role.Users.Select(userRole => userRole.Id).Contains(userId))
                            .Select(ur => new User()
            {
                Id = request.Id
            }).ToList();

            if (userRoles.Any())
            {
                role.Users.AddRange(userRoles);
            }

            if (await Commit())
            {
                var key = GirvsEntityCacheDefaults <Role> .ByIdCacheKey.Create(role.Id.ToString());

                _bus.RaiseEvent(new RemoveCacheEvent(key), cancellationToken);
                _bus.RaiseEvent(new RemoveCacheListEvent(GirvsEntityCacheDefaults <Role> .ListCacheKey.Create()),
                                cancellationToken);
            }

            return(true);
        }
コード例 #2
0
        public UsersViewModel()
        {
            addRoleUserCommand    = new AddRoleUserCommand(this);
            updateRoleUserCommand = new UpdateRoleUserCommand(this);

            // atrybuty uzytkowników.
            UsersAttributes allowedAttributes = UsersAttributes.Administrator | UsersAttributes.Recepcjonista | UsersAttributes.Terapeuta;
            int             tempTypeUser      = 5;

            //allowedAttributes = allowedAttributes | tempTypeUser;
            //UsersAttributes usersAttributesInstance = (UsersAttributes)tempTypeUser;
            //Console.WriteLine("Attibutes - " + usersAttributesInstance);
            // sprawdzenie czy użytkownik ma prawa Administratora - (UsersAttributes)1 sprawdza czy jest w prawach Administrator (1)
            //if (UsersAttributes.Administrator == (UsersAttributes)1)
            //{
            //    Console.WriteLine("User - " + UsersAttributes.Administrator);
            //    string ua = UsersAttributes.Administrator.ToString();
            //    Console.WriteLine("User string - " + ua);
            //}

            usersList = new ObservableCollection <UserModel>
            {
                new UserModel {
                    IDUser = "******", NameUser = "******", PasswordUser = "******", TypeUser = "******", FirstNameUser = "******", LastNameUser = "******"
                },
                new UserModel {
                    IDUser = "******", NameUser = "******", PasswordUser = "******", TypeUser = "******", FirstNameUser = "******", LastNameUser = "******"
                }
            };
            DataGrid_Loaded();
        }
コード例 #3
0
        public async Task <ICommandResult> Handle(UpdateRoleUserCommand command)
        {
            //validar command
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Ops, algo errado aconteceu!", command.Notifications));
            }

            //GetUser
            var user = await _repository.GetUser(command.Id, command.Email);

            if (user == null)
            {
                return(new GenericCommandResult(false, "Usuário não encontrado", null));
            }

            //Validar Role
            AddNotification("Handle.Role", "Não é possível atualizar o role ainda");

            if (Invalid)
            {
                return(new GenericCommandResult(false, "Ops, algo errado aconteceu!", Notifications));
            }

            user.UpdateRole(command.Role);
            _ = _repository.Update(user);

            user.Password.HidePassword();
            //Retorna valores
            return(new GenericCommandResult(true, "Role atualizado", new { user }));
        }
コード例 #4
0
        public Task <ICommandResult> PutRole([FromBody] UpdateRoleUserCommand command)
        {
            command.Id    = Guid.Parse(User.FindFirst(ClaimTypes.Sid)?.Value);
            command.Email = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            var result = _handler.Handle(command);

            return(result);
        }