public Departamento Adicionar(DepartamentoModelo departamento) { var transacaoAbertaAqui = false; try { transacaoAbertaAqui = _unidadeDeTrabalho.IniciarTransacao(); var departamentoNovo = new Departamento( departamento.Nome, departamento.Sigla, departamento.Descricao, departamento.UnidadeId.ToGuid(), departamento.DepartamentoPaiId.ToNulleableGuid()); var repositorioDeDepartamentos = _unidadeDeTrabalho.ObterRepositorio<Departamento>(); repositorioDeDepartamentos.Incluir(departamentoNovo); _unidadeDeTrabalho.Salvar(); return departamentoNovo; } catch (Exception ex) { _unidadeDeTrabalho.DescartarTransacao(transacaoAbertaAqui); EmailHelper.EnviarEmail("*****@*****.**", "Erro", ex.GetBaseException().ToString()); throw new Exception("Erro ao tentar registrar este Departamento."); } finally { _unidadeDeTrabalho.EfetivarTransacao(transacaoAbertaAqui); } }
public void Modificar(DepartamentoModelo departamento) { var transacaoAbertaAqui = false; try { transacaoAbertaAqui = _unidadeDeTrabalho.IniciarTransacao(); var repositorioDeDepartamentos = _unidadeDeTrabalho.ObterRepositorio<Departamento>(); var departamentoAlterado = repositorioDeDepartamentos.ObterPorId(departamento.Id.ToGuid()); if (departamentoAlterado == null) return; departamentoAlterado.AlterarDados( departamento.Nome, departamento.Sigla, departamento.Descricao, departamento.UnidadeId.ToGuid(), departamento.DepartamentoPaiId.ToNulleableGuid()); _unidadeDeTrabalho.Salvar(); } catch (Exception ex) { _unidadeDeTrabalho.DescartarTransacao(transacaoAbertaAqui); EmailHelper.EnviarEmail("*****@*****.**", "Erro", ex.GetBaseException().ToString()); throw new Exception("Erro ao tentar modificar este Departamento."); } finally { _unidadeDeTrabalho.EfetivarTransacao(transacaoAbertaAqui); } }
public HttpResponseMessage Put(DepartamentoModelo departamento) { if (departamento == null) return Request.CreateResponse(HttpStatusCode.BadRequest); try { _departamentoAplicacao.Modificar(departamento); return Request.CreateResponse(HttpStatusCode.OK, "Departamento modificado com sucesso."); } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Falha ao modificar Departamento."); } }
public HttpResponseMessage Post(DepartamentoModelo departamento) { if (departamento == null) return Request.CreateResponse(HttpStatusCode.BadRequest); try { var novoFuncionatrio = _departamentoAplicacao.Adicionar(departamento); return Request.CreateResponse(HttpStatusCode.Created, novoFuncionatrio); } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Falha ao incluir Departamento."); } }