public void InsertOrUpdate(COMPROVANTE comprovante) { if (comprovante.ID == default(int)) { // New entity context.COMPROVANTEs.Add(comprovante); } else { // Existing entity context.Entry(comprovante).State = EntityState.Modified; } }
public ActionResult Edit(COMPROVANTE comprovante) { if (ModelState.IsValid) { comprovanteRepository.InsertOrUpdate(comprovante); comprovanteRepository.Save(); return(RedirectToAction("Index")); } else { return(View()); } }
public ActionResult Create(APOSTA aposta) { try { IEVENTORepository eventoRepository = new EVENTORepository(); EVENTO oEvento = eventoRepository.Find(int.Parse(Request.Params["numeroevento"].ToString())); Usuario oUsuario = usuarioRepository.All.Where(x => x.Login == HttpContext.User.Identity.Name).First(); int idcomprovante = 0; bool resultado = false; if (User.IsInRole("admin")) { if (int.Parse(Request.Params["resultado"].ToString()) == 1) { resultado = true; IEnumerable <APOSTA> oApostas = apostaRepository.All.Where(x => x.LUTA.IDEVENTO == oEvento.ID && x.RESULTADO == true); foreach (APOSTA apostar in oApostas) { apostaRepository.Delete(apostar.ID); } } } //if ((oUsuario.SALDO < oEvento.VALOR) && !resultado) //{ // TempData["message"] = "Aposta não realizada, saldo insuficiente!"; // return RedirectToAction("SelecionaEvento"); //} //else //{ ICOMPROVANTERepository comprovanteRepository = new COMPROVANTERepository(); COMPROVANTE oComprovante = new COMPROVANTE(); oComprovante.DATA = DateTime.Now; oComprovante.IDUSUARIO = oUsuario.Id; oComprovante.TIPO = "A"; oComprovante.VALOR = oEvento.VALOR; comprovanteRepository.InsertOrUpdate(oComprovante); comprovanteRepository.Save(); idcomprovante = oComprovante.ID; //if (!resultado) //{ // oUsuario.SALDO = oUsuario.SALDO - oEvento.VALOR; // usuarioRepository.InsertOrUpdate(oUsuario); // usuarioRepository.Save(); //} //} IEnumerable <LUTA> oLutas = oEvento.LUTA; foreach (LUTA luta in oLutas) { APOSTA oAposta = new APOSTA(); oAposta.IDLUTA = luta.ID; oAposta.IDUSUARIO = oUsuario.Id; oAposta.LUTADORVENCEDOR = short.Parse(Request.Form[luta.ID.ToString()]); oAposta.ROUND = short.Parse(Request.Form["ROUND" + luta.ID.ToString()]); oAposta.MODO = Request.Form["MODO" + luta.ID.ToString()]; oAposta.IDCOMPROVANTE = idcomprovante; oAposta.RESULTADO = resultado; apostaRepository.InsertOrUpdate(oAposta); apostaRepository.Save(); } TempData["message"] = "Aposta realizada com sucesso!"; } catch (Exception ex) { throw ex; } return(RedirectToAction("SelecionaEvento")); }