Exemplo n.º 1
0
        public async Task <ICommandResult> Handle(CreateEventAdministratorCommand command)
        {
            var administratorId = Guid.Parse(_httpContextAccessor.HttpContext.User.FindFirst(JwtRegisteredClaimNames.Sid).Value);

            //Verifica se o e-mail já está sendo utilizado
            if (await _userRepository.GetUserByEmail(command.Email) != null)
            {
                AddNotification("email", "Este e-mail já está sendo utilizado");
            }

            var eventAdministrator = new EventAdministrator(command.Name, command.Email, command.Password)
            {
                AdministratorId = administratorId,
            };

            AddNotifications(eventAdministrator.Notifications);

            if (!IsValid())
            {
                return(null);
            }

            //Faz a persistencia no banco
            await _eventAdministratorRepository.Create(eventAdministrator);

            await _eventAdministratorRepository.Commit();

            //retorna o resultado para tela
            return(new CreateEventAdministratorCommandResult(
                       eventAdministrator.Id,
                       eventAdministrator.Name,
                       eventAdministrator.Email
                       ));
        }
Exemplo n.º 2
0
 public Message(EventAdministrator eventAdministrator)
 {
     _eventAdministrator = eventAdministrator;
 }