public IResultadoComando Manipular(CriarVotoComando comando) { var funcionarioJaVotouNaTarefa = _repositorio.FuncionarioJaVotouNaTarefa(comando.FuncionarioId, comando.RecursoId); if (funcionarioJaVotouNaTarefa != null) { return(new ResultadoComando( false, "Você já votou nessa tarefa", new { })); } var recursoJaVotado = _repositorio.RecursoJaFoiVotado(comando.RecursoId); if (recursoJaVotado != null) { var comentarioAtualizado = new Comentario(comando.Comentario, comando.RecursoId, comando.FuncionarioId); AddNotifications(comentarioAtualizado.Notifications); if (!Invalid) { _repositorioComentario.Salvar(comentarioAtualizado); _repositorio.AtualizarVotoRecurso(comando.RecursoId); return(new ResultadoComando( true, "Voto computado com sucesso!", new { mensagem = "Obrigado por votar =)" })); } return(new ResultadoComando( false, "Voto não registrado", new { mensagem = comentarioAtualizado.Notifications })); } var voto = new Voto(comando.FuncionarioId, comando.RecursoId, comando.Gostei); var comentario = new Comentario(comando.Comentario, comando.RecursoId, comando.FuncionarioId); AddNotifications(voto.Notifications); AddNotifications(comentario.Notifications); if (!Invalid) { _repositorioComentario.Salvar(comentario); _repositorio.Salvar(voto); return(new ResultadoComando( true, "Voto computado com sucesso!", new { mensagem = "Obrigado por votar =)" })); } return(new ResultadoComando( false, "Erro ao gravar o voto", new { mensagem = voto.Notifications, comentario.Notifications })); }
public Comentario SalvarERecuperar(Comentario comentario) { _comentarioRepositorio.Salvar(comentario); return(comentario); }