public ActionResult Details(string idPessoa, string idLeilao, string valor) { Pessoa pessoa = PessoaRepository.BuscarUsuarioPorId(idPessoa); Models.Leilao leilao = LeilaoRepository.BuscarLeilaoPorId(idLeilao); if (!decimal.TryParse(valor, NumberStyles.Currency, CultureInfo.CreateSpecificCulture("en-US"), out decimal valorLance)) { ModelState.AddModelError("", $"R$ {valor} não é um valor válido para o lance"); return(View(leilao)); } Lance lance = leilao.MakeLance(pessoa, valorLance); if (lance != null) { LeilaoRepository.SaveLance(lance); return(RedirectToAction("Details", new { id = leilao.Produto.Id })); } else { ModelState.AddModelError("", $"R$ {valor} um lance não pode ser igual ou menor que o anterior"); return(View(leilao)); } }
public ActionResult Details(int id) { Produto produto = ProdutoRepository.GetProdutoById(id); Models.Leilao leilao = LeilaoRepository.GetLeilaoByProduct(produto); if (leilao == null) { leilao = LeilaoRepository.CreateLeilao(new Models.Leilao(produto)); } Session["idPessoa"] = PessoaRepository.BuscarUsuarioPorEmail(System.Web.HttpContext.Current.User.Identity.Name).Id; return(View(leilao)); }
public static Models.Leilao CreateLeilao(Models.Leilao leilao) { using (Context ctx = new Context()) { try { ctx.Leilaos.Attach(leilao); ctx.Leilaos.Add(leilao); ctx.SaveChanges(); return(leilao); } catch (Exception ex) { return(leilao); } } }