public async Task <IActionResult> Buscar(int id) { var usuario = User.Identity.Name; try { if (!await ciclosDAL.ValidaUsuario(usuario, id)) { throw new KeyNotFoundException("Ciclo não foi encontrado ou você não tem acesso a ele!"); } Ciclo ciclo = await ciclosDAL.Find(id); return(Ok(ciclo)); } catch (KeyNotFoundException ex) { gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - CicloId: {id}"); return(BadRequest(ex.Message)); } catch (Exception ex) { gravadorLog.GravarLogErro(ex, 500); return(StatusCode(500)); } }
public async Task <IActionResult> Criar(Gasto gasto) { var usuario = User.Identity.Name; try { if (!await ciclosDAL.ValidaUsuario(usuario, gasto.CicloId)) { throw new KeyNotFoundException("Ciclo não foi encontrado ou você não tem acesso a ele!"); } if (!gasto.ValidarTipoEData()) { throw new KeyNotFoundException("Preencha as data de contabilização conforme o Tipo escolhido!"); } await gastosDAL.Create(gasto); if (Uri.TryCreate("/gastos/" + gasto.Id, UriKind.Relative, out Uri result)) { return(Created(result, gasto)); } return(Ok(gasto)); } catch (KeyNotFoundException ex) { gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - CicloId: {gasto.CicloId}"); return(BadRequest(ex.Message)); } catch (Exception ex) { gravadorLog.GravarLogErro(ex, 500); return(StatusCode(500)); } }