コード例 #1
0
        public async Task <Response> Handle(AdicionarUsuarioRequest request, CancellationToken cancellationToken)
        {
            //Validar se o requeste veio preenchido
            if (request == null)
            {
                AddNotification("Resquest", "informe os dados do usuario");
                return(new Response(this));
            }

            //Verificar se o usuário já existe
            if (_repositoryUsuario.Existe(x => x.Email == request.Email))
            {
                AddNotification("Email", "email ja cadastrado");
                return(new Response(this));
            }

            Entities.Usuario usuario = new Entities.Usuario(request.PrimeiroNome, request.UltimoNome, request.Email, request.Senha);
            AddNotifications(usuario);

            if (IsInvalid())
            {
                return(new Response(this));
            }

            usuario = _repositoryUsuario.Adicionar(usuario);

            //criar meu usuario de resposta
            var response = new Response(this, usuario);

            AdicionarUsuarioNotification adicionarUsuarioNotification = new AdicionarUsuarioNotification(usuario);

            await _mediator.Publish(adicionarUsuarioNotification);

            return(await Task.FromResult(response));
        }
コード例 #2
0
        public async Task <Response> Handle(AdicionarUsuarioRequest request, CancellationToken cancellationToken)
        {
            //Validar se o requeste veio preenchido
            if (request == null)
            {
                AddNotification("Resquest", MSG.OBJETO_X0_E_OBRIGATORIO.ToFormat("Usuário"));
                return(new Response(this));
            }

            //Verificar se o usuário já existe
            if (_repositoryUsuario.Existe(x => x.Email == request.Email))
            {
                AddNotification("Email", MSG.ESTE_X0_JA_EXISTE.ToFormat("E-mail"));
                return(new Response(this));
            }

            Entities.Usuario usuario = new Entities.Usuario(request.PrimeiroNome, request.UltimoNome, request.Email, request.Senha);
            AddNotifications(usuario);

            if (IsInvalid())
            {
                return(new Response(this));
            }

            usuario = _repositoryUsuario.Adicionar(usuario);

            //Criar meu objeto de resposta
            var response = new Response(this, usuario);

            AdicionarUsuarioNotification adicionarUsuarioNotification = new AdicionarUsuarioNotification(usuario);

            await _mediator.Publish(adicionarUsuarioNotification);

            return(await Task.FromResult(response));
        }