public IActionResult Delete(int id) { try { FuncionarioModel currentModel = FuncionarioModel.ToModel(_funcionarioBusiness.Get(id)); if (currentModel == null) { return(NotFound()); } if (!_funcionarioBusiness.JaRealizouAluguel(currentModel.ToDomain())) { _funcionarioBusiness.Desactive(currentModel.ToDomain()); return(Ok(currentModel.ToBody())); } return(BadRequest("Não foi possível desativar este funcionário, pois ele já efetuou um ou mais aluguéis.")); } catch (Exception ex) { throw ex; } }
public IActionResult Put(int id, FuncionarioModel editedModel) { try { Funcionario currentModel = _funcionarioBusiness.Get(id); if (currentModel == null) { return(NotFound()); } _funcionarioBusiness.Edit(currentModel, editedModel.ToDomain()); return(Ok(editedModel.ToBody())); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public IActionResult Post(FuncionarioModel newModel) { try { if (newModel != null && newModel.IsValid()) { newModel.Cadastro = DateTime.Now; newModel.Ativo = true; _funcionarioBusiness.Add(newModel.ToDomain()); return(Ok(newModel.ToBody())); } if (!newModel.ValidPassword()) { return(BadRequest("A senha informada não é válida.\nDeve conter 6 ou mais caracteres.")); } return(BadRequest("Preencha corretamente todos os campos do funcionário.")); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }