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()); } }
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()); } }
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()); } }