Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace AppServices;
- use AppEncarregado;
- use IlluminateSupportFacadesDB;
- use Exception;
- class RegistradorDeEncarregado
- {
- public function desabilitarEncarregado(int $id): Encarregado
- {
- DB::beginTransaction();
- $result = Encarregado::where('id', $id)
- ->update([
- 'ativo' => 0]);
- DB::commit();
- return $this->verificarUpdate($result, $id);
- }
- private function verificarUpdate(bool $result, $id){
- $encarregado = Encarregado::find($id);
- // Cenário perfeito
- if($result && isset($encarregado)){
- return $encarregado;
- // Quando o id que vai sofrer a alteração já possui
- // o mesmo valor do parâmetro
- }else if(!$result && isset($encarregado)){
- throw new Exception('Registro já se encontra com o(s) parâmetro(s) de alteração.');
- // Id não existente
- }else{
- throw new Exception('Não foi possível alterar o registro do encarregado.');
- }
- }
- }
- public function disability(
- Request $request,
- RegistradorDeEncarregado $registradorDeEncarregado)
- {
- $encarregado = $registradorDeEncarregado->desabilitarEncarregado($request->id);
- $request->session()
- ->flash(
- 'mensagem',
- "Encarregado {$encarregado->nome} salvo com sucesso."
- );
- return redirect()->route('encarregado_listar_ativos');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement