示例#1
0
        public async Task <ActionResult> Get(string id, string chave = null)
        {
            var ds = new CapsulaDoTempoService(repositorio, notificacao, cryptoService);

            var resultado = new ResultadoBuscaCapsula();

            var edicao = !string.IsNullOrEmpty(chave);

            if (edicao)
            {
                var chaveDecoded = System.Net.WebUtility.UrlDecode(chave).Replace(" ", "+");
                resultado = await ds.BuscarCapsulaParaEdicao(id, chaveDecoded);
            }
            else
            {
                resultado = await ds.BuscarCapsulaPorId(id);
            }

            switch (resultado.ResultadoBusca)
            {
            case ResultadoBusca.NaoEncontrado:
                return(NotFound());

            case ResultadoBusca.Encontrado:
                return(new OkObjectResult(resultado.Capsula));

            case ResultadoBusca.CapsulaFechada:
            default:
                return(Unauthorized());
            }
        }
示例#2
0
        public async Task <ActionResult> Put(string id, [FromBody] DomainModel.Entities.CapsulaDoTempo capsula)
        {
            var ds        = new CapsulaDoTempoService(repositorio, notificacao, cryptoService);
            var resultado = await ds.AlterarCapsulaDoTempo(id, capsula);

            switch (resultado)
            {
            case ResultadoAlteracao.Alterada:
                return(Ok());

            case ResultadoAlteracao.CapsulaNaoEncontrada:
                return(NotFound());

            default:
                return(Unauthorized());
            }
        }
示例#3
0
        public async Task <ActionResult> Post(string id, [FromBody] DomainModel.Entities.CapsulaDoTempo capsula)
        {
            var ds        = new CapsulaDoTempoService(repositorio, notificacao, cryptoService);
            var resultado = await ds.CriarCapsula(id, capsula);

            switch (resultado.ResultadoCriacao)
            {
            case ResultadoCriacao.NaoCriada:
                return(BadRequest(resultado.Mensagem));

            case ResultadoCriacao.Criada:
                return(Ok());

            case ResultadoCriacao.CapsulaJaExistente:
            default:
                return(Unauthorized());
            }
        }