コード例 #1
0
        //public async Task<bool> AtualizarNome(RegistrarAplicativoCommand request)
        //{
        //    if (!request.Valido()) return false;

        //    var aplicativo = await _aplicativoRepository.ObterPorIdComTracking(request.Id);
        //    aplicativo.AtualizarNome(request.Nome);
        //    _aplicativoRepository.Update(aplicativo);

        //    await PersistirDados(_aplicativoRepository.UnitOfWork);

        //    return true;
        //}

        //public async Task<bool> AtualizarDataLancamento(RegistrarAplicativoCommand request)
        //{
        //    if (!request.Valido()) return false;

        //    var aplicativo = await _aplicativoRepository.ObterPorIdComTracking(request.Id);
        //    aplicativo.AtualizarDataLancamento(DateTime.Parse(request.DataLancamento));
        //    _aplicativoRepository.Update(aplicativo);

        //    await PersistirDados(_aplicativoRepository.UnitOfWork);

        //    return true;
        //}

        //public async Task<bool> AtualizarPlataforma(RegistrarAplicativoCommand request)
        //{
        //    if (!request.Valido()) return false;

        //    var aplicativo = await _aplicativoRepository.ObterPorIdComTracking(request.Id);
        //    aplicativo.AtualizarPlataforma(request.TipoPlataforma);
        //    _aplicativoRepository.Update(aplicativo);

        //    await PersistirDados(_aplicativoRepository.UnitOfWork);

        //    return true;
        //}

        public async Task <ICommandResult> Handle(AtualizarAplicativoCommand request, CancellationToken cancellationToken)
        {
            if (!request.Valido())
            {
                _commandResult.AddFluentValidation(request.ValidationResult);
                return(_commandResult);
            }


            var aplicativo = await _aplicativoRepository.ObterPorIdComTracking(request.Id);

            if (aplicativo == null)
            {
                AdicionarErro("Id", "Não foi encontrado Aplicativo com este Id");
                _commandResult.AddFluentValidation(ValidationResult);
                return(_commandResult);
            }

            aplicativo.AtualizarNome(request.Nome);
            aplicativo.AtualizarDataLancamento(DateTime.Parse(request.DataLancamento));
            aplicativo.AtualizarPlataforma(request.TipoPlataforma);

            _aplicativoRepository.Update(aplicativo);

            var validacaoSalvar = await PersistirDados(_aplicativoRepository.UnitOfWork);

            _commandResult.AddFluentValidation(validacaoSalvar);
            _commandResult.AddResult(aplicativo.Id);

            return(_commandResult);
        }
コード例 #2
0
        public async Task <ICommandResult> PutAtualizarCadastro(Guid id, AtualizarAplicativoCommand command)
        {
            if (id == command.Id)
            {
                return(await _mediatorHandler.EnviarComandoGenerico(command));
            }

            _commandResult.AddErro("Id", "O id informado no request está diferente do informado no JSON");
            return(_commandResult);
        }