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