Example #1
0
        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));
            }
        }
Example #2
0
        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));
        }
Example #3
0
 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);
         }
     }
 }