public void Modificar(CargoModelo cargo) { var transacaoAbertaAqui = false; try { transacaoAbertaAqui = _unidadeDeTrabalho.IniciarTransacao(); var repositorioDeCargos = _unidadeDeTrabalho.ObterRepositorio<Cargo>(); var cargoAlterado = repositorioDeCargos.ObterPorId(cargo.Id.ToGuid()); if (cargoAlterado == null) return; var nivelDoCargo = (NivelDoCargo)cargo.Nivel; cargoAlterado.AlterarDados(cargo.Nome, cargo.Sigla, cargo.Descricao, nivelDoCargo); _unidadeDeTrabalho.Salvar(); } catch (Exception ex) { _unidadeDeTrabalho.DescartarTransacao(transacaoAbertaAqui); EmailHelper.EnviarEmail("*****@*****.**", "Erro", ex.GetBaseException().ToString()); throw new Exception("Erro ao tentar modificar este cargo."); } finally { _unidadeDeTrabalho.EfetivarTransacao(transacaoAbertaAqui); } }
public Cargo Adicionar(CargoModelo cargo) { var transacaoAbertaAqui = false; try { transacaoAbertaAqui = _unidadeDeTrabalho.IniciarTransacao(); var nivelDoCargo = (NivelDoCargo) cargo.Nivel; var cargoNovo = new Cargo( cargo.Nome, cargo.Sigla, cargo.Descricao, nivelDoCargo); var repositorioDeCargos = _unidadeDeTrabalho.ObterRepositorio<Cargo>(); repositorioDeCargos.Incluir(cargoNovo); _unidadeDeTrabalho.Salvar(); return cargoNovo; } catch (Exception ex) { _unidadeDeTrabalho.DescartarTransacao(transacaoAbertaAqui); EmailHelper.EnviarEmail("*****@*****.**", "Erro", ex.GetBaseException().ToString()); throw new Exception("Erro ao tentar registrar este cargo."); } finally { _unidadeDeTrabalho.EfetivarTransacao(transacaoAbertaAqui); } }
public HttpResponseMessage Put(CargoModelo cargo) { if (cargo == null) return Request.CreateResponse(HttpStatusCode.BadRequest); try { _cargoAplicacao.Modificar(cargo); return Request.CreateResponse(HttpStatusCode.OK, "Cargo modificado com sucesso."); } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Falha ao modificar cargo."); } }
public HttpResponseMessage Post(CargoModelo cargo) { if (cargo == null) return Request.CreateResponse(HttpStatusCode.BadRequest); try { var novoFuncionatrio = _cargoAplicacao.Adicionar(cargo); return Request.CreateResponse(HttpStatusCode.Created, novoFuncionatrio); } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Falha ao incluir cargo."); } }