public ActionResult Promocao(int? id) { if (id.HasValue) { Promocao promocao = null; if(User.IsInRole("admin")) promocao = db.promocaoList.Find(id); else { string userID = User.Identity.GetUserId(); Parceiro parceiro = null; parceiro = db.parceiroList.Where(p => p.IdUsuario == userID.ToString()).First(); if (parceiro == null) throw new ArgumentNullException("erro", "Não foi possível carregar o parceiro selecionado. Verifique a URL digitada"); promocao = db.promocaoList.Where(p => p.idParceiro == parceiro.idParceiro && p.AtivaBool == true && p.idPromocao == id).FirstOrDefault(); if (promocao == null) throw new ArgumentNullException("erro", "Não foi possível carregar o parceiro selecionado. Verifique a URL digitada"); } if (promocao != null && !String.IsNullOrEmpty(promocao.ImagemStr)) ViewBag.ImagemStr = promocao.ImagemStr; var cartaoPromocao = new CartaoPromocao(); cartaoPromocao.idPromocao = promocao.idPromocao; if (cartaoPromocao != null) return View(cartaoPromocao); else throw new ArgumentNullException("cartaoPromocao", "Erro ao validar a promoção."); } else throw new ArgumentNullException("erro", "Não foi possivel carregar a promoção, verifique a url digitada"); return View(); }
public ActionResult ValidarPromocao(CartaoPromocao cartaoPromocao) { if (cartaoPromocao != null) { cartaoPromocao.DataCadastroDate = AppHelper.GetCurrentTime(); var promocao = db.promocaoList.FirstOrDefault(p => p.idPromocao == cartaoPromocao.idPromocao); int qtdUtilizacaoDia = promocao.QtdUtilizacaoDiaInt; var listaCartaoUtilizadosHoje = db.CartaoPromocaos .ToList() .FindAll(cartao => cartao.NumeroStr == cartaoPromocao.NumeroStr && cartao.idPromocao == promocao.idPromocao && cartao.DataCadastroDate.Date == AppHelper.GetCurrentTime(DateTime.Today.Date)); if (listaCartaoUtilizadosHoje.Count >= qtdUtilizacaoDia) { ViewBag.ImagemStr = promocao.ImagemStr; ViewBag.Erro = "Este cartão atingiu o limite de utilizações diárias "; return View("Promocao", cartaoPromocao); } if (promocao != null) { ViewBag.IdParceiro = promocao.idParceiro; ViewBag.IdPromocao = promocao.idPromocao; } db.CartaoPromocaos.Add(cartaoPromocao); db.SaveChanges(); } return View(); }