public async Task <IActionResult> Atualizar(Plano plano) { var usuario = User.Identity.Name; try { if (plano.Id == null) { throw new KeyNotFoundException("Id obrigatorio para atualização!"); } int id = (int)plano.Id; if (!await planosDAL.ValidaUsuario(usuario, id)) { throw new KeyNotFoundException("Plano não foi encontrado ou você não tem acesso a ele!"); } plano.Usuario = usuario; await planosDAL.Update(plano); return(Ok(plano)); } catch (KeyNotFoundException ex) { gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - PlanoId: {plano.Id}"); return(BadRequest(ex.Message)); } catch (Exception ex) { gravadorLog.GravarLogErro(ex, 500); return(StatusCode(500)); } }
public async Task <IActionResult> Criar(Ciclo ciclo) { var usuario = User.Identity.Name; try { if (!await planosDAL.ValidaUsuario(usuario, ciclo.PlanoId)) { throw new KeyNotFoundException("Plano não foi encontrado ou você não tem acesso a ele!"); } await ciclosDAL.Create(ciclo); if (Uri.TryCreate("/ciclos/" + ciclo.Id, UriKind.Relative, out Uri result)) { return(Created(result, ciclo)); } return(Ok(ciclo)); } catch (KeyNotFoundException ex) { gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - PlanoId: {ciclo.PlanoId}"); return(BadRequest(ex.Message)); } catch (Exception ex) { gravadorLog.GravarLogErro(ex, 500); return(StatusCode(500)); } }