Esempio n. 1
0
        public ICommandResult <Notificacao> Handler(AdicionarUsuarioCommand command)
        {
            try
            {
                Usuario usuario = UsuarioHelper.GerarEntidade(command);

                AddNotificacao(usuario.Login.Notificacoes);
                AddNotificacao(usuario.Senha.Notificacoes);

                if (_repository.CheckLogin(usuario.Login.ToString()))
                {
                    AddNotificacao("Login", "Esse login não está disponível pois já está sendo usado por outro usuário");
                }

                if (Invalido)
                {
                    return(new CommandResult <Notificacao>("Inconsistência(s) no(s) dado(s)", Notificacoes));
                }

                _repository.Salvar(usuario);

                usuario.Id = _repository.LocalizarMaxId();

                AdicionarUsuarioCommandOutput dadosRetorno = UsuarioHelper.GerarDadosRetornoInsert(usuario);

                return(new CommandResult <Notificacao>("Usuário gravado com sucesso!", dadosRetorno));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }