public ActionResult SalvarAplicacao(ProjetoViewModel vm) { try { Vaga vaga = vagaRepository.FindById(vm.Aplicacao.VagaId); Projeto projeto = projetoRepository.FindById(vm.Projeto.Id); Aplicacao aplicacao = new Aplicacao { UsuarioId = User.Id, VagaId = vm.Aplicacao.VagaId, Mensagem = vm.Aplicacao.Mensagem }; projetoRepository.SaveAplicacao(aplicacao); notificacaoRepository.Save(new Notificacao() { UsuarioId = projeto.UsuarioId, Mensagem = "O usuário " + User.NomeCompleto + " enviou uma aplicação ao projeto \"" + projeto.Nome + "\" para a vaga de \"" + vaga.Funcao + "\"." }); } catch { //TODO: Colocar exceção em log Response.StatusCode = 500; return(Content("Falha interna ao enviar a aplicação!")); } return(Json(new { responseText = "Aplicação enviada com sucesso!" }, JsonRequestBehavior.AllowGet)); }
public ActionResult RejeitarAplicacao(int vagaId, int usuarioId) { try { Aplicacao aplicacao = projetoRepository.FindAplicacao(vagaId, usuarioId); Notificacao notificacao = new Notificacao() { UsuarioId = aplicacao.UsuarioId, Mensagem = "A aplicação enviada para a vaga \"" + aplicacao.Vaga.Funcao + "\" do projeto \"" + aplicacao.Vaga.Projeto.Nome + "\" foi rejeitada." }; notificacaoRepository.Save(notificacao); projetoRepository.DeleteAplicacao(aplicacao); } catch { //TODO: Registrar a exceção em log Response.StatusCode = 500; return(Content("Não foi possível rejeitar a aplicação por falha interna.")); } return(Json(new { responseText = "A aplicação foi rejeitada com sucesso." }, JsonRequestBehavior.AllowGet)); }