Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }