public ActionResult Edit(int id, ClassificacaoViewModel classificacaoViewModel) { classificacaoViewModel.ClassificacaoId = id; var classificacaoEntidade = Mapper.Map <ClassificacaoViewModel, Classificacao>(classificacaoViewModel); _classificacaoAppServico.Atualizar(classificacaoEntidade); return(RedirectToAction("Index")); }
public ActionResult Create(ClassificacaoViewModel classificacaoViewModel) { if (ModelState.IsValid) { var classificacaoEntidade = Mapper.Map <ClassificacaoViewModel, Classificacao>(classificacaoViewModel); _classificacaoAppServico.Adicionar(classificacaoEntidade); return(RedirectToAction("Index")); } return(View(classificacaoViewModel)); }
public async Task <IActionResult> Votar(int id) { var projeto = await _context.Projetos.Include(p => p.AcademicDegree) .SingleOrDefaultAsync(m => m.ProjetoId == id); var vm = new ClassificacaoViewModel { ProjetoId = id, Nome = projeto.ProjectName }; return(View(vm)); }
public async Task <IActionResult> Votar(ClassificacaoViewModel rvm) { var projeto = await _context.Projetos.Include(p => p.AcademicDegree) .SingleOrDefaultAsync(m => m.ProjetoId == rvm.ProjetoId); if (projeto == null) { return(NotFound()); } var classificacaoActual = projeto.Classificacao; var nrDeVotos = projeto.NrDeVotos + 1; double novaClassificacao = (classificacaoActual + rvm.Voto) / nrDeVotos; var classificacaoRound = Math.Ceiling(novaClassificacao); projeto.Classificacao = classificacaoRound; projeto.NrDeVotos = nrDeVotos; await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Projetos", new { area = "" })); }
public ActionResult TabelaDeClassificacao(int id = 0) { //tenta pegar o id passado Chave minhaChave = null; if (id != 0) { minhaChave = db.Chaves. Include(_chave => _chave.Times). FirstOrDefault(_chave => _chave.Id == id); } else if (SessionManager.GetUsuario() != null) { int idJogador = SessionManager.GetUsuario().Id; id = db.Times.Where(_time => _time.UsuarioID == idJogador).Select(_time => _time.ChaveID).First(); minhaChave = db.Chaves. Include(_chave => _chave.Times). FirstOrDefault(_chave => _chave.Id == id); } if (minhaChave == null) { return(HttpNotFound()); } List <ClassificacaoViewModel> classificacao = new List <ClassificacaoViewModel>(); foreach (var time in minhaChave.Times) { var partidas = db.Partidas.Where(_partida => _partida.TimeDeForaID == time.Id || _partida.TimeDaCasaID == time.Id); var viewModel = new ClassificacaoViewModel(); viewModel.CaminhoBrasao = time.pathBrasao; viewModel.NomeJogador = time.Usuario.Nome; viewModel.NomeTime = time.Nome; viewModel.Vitorias = partidas.Count(_partida => ((_partida.TimeDaCasaID == time.Id && _partida.PlacarTimeDaCasa > _partida.PlacarTimeDeFora) || (_partida.TimeDeForaID == time.Id && _partida.PlacarTimeDeFora > _partida.PlacarTimeDaCasa)) && _partida.JahOcorreu); viewModel.Empates = partidas.Count(_partida => (_partida.PlacarTimeDaCasa == _partida.PlacarTimeDeFora) && _partida.JahOcorreu); viewModel.Derrotas = partidas.Count(_partida => _partida.JahOcorreu) - (viewModel.Vitorias + viewModel.Empates); classificacao.Add(viewModel); //somando gols que fiz em casa viewModel.Gols += partidas. Where(_partida => _partida.TimeDaCasaID == time.Id) .Sum(_x => _x.PlacarTimeDaCasa); //somando gols que fiz fora de casa viewModel.Gols += partidas. Where(_partida => _partida.TimeDeForaID == time.Id) .Sum(_x => _x.PlacarTimeDaCasa); } return(View(classificacao. OrderByDescending(_classificacao => _classificacao.Pontos). ThenByDescending(_classificacao => _classificacao.Gols))); }