public ActionResult Edit(RESULTADO resultado) { if (ModelState.IsValid) { resultadoRepository.InsertOrUpdate(resultado); resultadoRepository.Save(); return(RedirectToAction("Index")); } else { return(View()); } }
public void InsertOrUpdate(RESULTADO resultado) { if (resultado.ID == default(int)) { // New entity context.RESULTADOes.Add(resultado); } else { // Existing entity context.Entry(resultado).State = EntityState.Modified; } }
public ActionResult GerarResultados() { int pontosacertovencedor = 10; int pontoacertoround = 5; int pontoacertomodo = 6; IEVENTORepository eventoRepository = new EVENTORepository(); EVENTO oEvento = eventoRepository.Find(int.Parse(Request.Params["numeroevento"].ToString())); Dictionary <int, int> resultadolutavencedor = new Dictionary <int, int>(); Dictionary <int, int> resultadolutaround = new Dictionary <int, int>(); Dictionary <int, string> resultadolutamodo = new Dictionary <int, string>(); IEnumerable <APOSTA> oApostas = apostaRepository.All.Where(x => x.LUTA.IDEVENTO == oEvento.ID && x.RESULTADO == true); foreach (APOSTA resultado in oApostas) { resultadolutavencedor.Add(resultado.LUTA.ID, resultado.LUTADORVENCEDOR); resultadolutaround.Add(resultado.LUTA.ID, resultado.ROUND); resultadolutamodo.Add(resultado.LUTA.ID, resultado.MODO); } IRESULTADORepository resultadoRepository = new RESULTADORepository(); foreach (RESULTADO result in resultadoRepository.All.Where(x => x.IDEVENTO == oEvento.ID)) { resultadoRepository.Delete(result.ID); } resultadoRepository.Save(); IEnumerable <COMPROVANTE> oComprovantes = (from a in apostaRepository.All.Where(x => x.LUTA.IDEVENTO == oEvento.ID && x.RESULTADO == false) select a.COMPROVANTE).Distinct(); foreach (COMPROVANTE comprovante in oComprovantes) { RESULTADO oResultado = new RESULTADO(); oResultado.IDCOMPROVANTE = comprovante.ID; oResultado.DATAAPOSTA = comprovante.DATA; oResultado.NOME = comprovante.Usuario.Nome; oResultado.IDEVENTO = oEvento.ID; int pontuacao = 0; foreach (APOSTA aposta in comprovante.APOSTA) { int pontosaposta = 0; int lutadorvencedor = resultadolutavencedor[aposta.LUTA.ID]; int roundfinal = resultadolutaround[aposta.LUTA.ID]; if (lutadorvencedor == aposta.LUTADORVENCEDOR) { pontosaposta += pontosacertovencedor; if (roundfinal == aposta.ROUND) { pontosaposta += pontoacertoround; } if (resultadolutamodo[aposta.LUTA.ID] == aposta.MODO) { pontosaposta += pontoacertomodo; } } aposta.PONTOS = short.Parse(pontosaposta.ToString()); pontuacao += pontosaposta; } oResultado.PONTUACAO = pontuacao; resultadoRepository.InsertOrUpdate(oResultado); resultadoRepository.Save(); } apostaRepository.Save(); TempData["message"] = "Pontuação calculada com sucesso!"; return(RedirectToAction("SelecionaEvento")); }