示例#1
0
        public void addCupom(Cliente c, LivroPedido l)
        {
            Cupom cupom = new Cupom {
                Cliente = c, Valor = l.Livro.Valor
            };

            Random rnd = new Random();

            while (true)
            {
                int codigo = rnd.Next(0, 1000000);
                var items  = _facade.Query <Cupom>(
                    c => Convert.ToInt32(c.Codigo) == codigo,
                    c => c);

                if (items.Count() == 0)
                {
                    cupom.Codigo = codigo.ToString("D7");
                    break;
                }
                codigo = rnd.Next(0, 1000000);;
            }

            c.Cupons.Add(cupom);
            l.Trocado = true;
        }
示例#2
0
        public IActionResult _RealizarTrocaPartial(int id)
        {
            LivroPedido p = _facade.Query <LivroPedido>(p => p.Id == id, p => p, p => p.Livro).FirstOrDefault();
            Livro       l = _facade.GetAllInclude(p.Livro);

            if (p.Trocado)
            {
                ViewData["ErrorMessage"] = "Esse livro tem uma troca ativa associada.";
                return(PartialView("../Conta/PartialViews/_ErroPartial"));
            }

            _vh = new LivroBaseViewHelper {
                Entidades = new Dictionary <string, object> {
                    [typeof(Livro).Name] = l
                }
            };
            KeyValuePair <int, LivroBaseModel> vm = new KeyValuePair <int, LivroBaseModel>(p.Id, (LivroBaseModel)_vh.ViewModel);

            return(PartialView("../Conta/PartialViews/_RealizarTrocaPartial", vm));
        }
示例#3
0
        public IActionResult CancelarTroca(int id)
        {
            Troca t = _facade.GetAllInclude(new Troca {
                Id = id
            });
            LivroPedido p = _facade.Query <LivroPedido>(p => t.LivroPedidoId == p.Id,
                                                        p => p).FirstOrDefault();

            t.StatusTroca = StatusTroca.Cancelada;
            p.Trocado     = false;

            string msg = _facade.Editar(t);

            msg += _facade.Editar(p);

            if (msg != "")
            {
                TempData["Alert"] = msg;
            }
            return(RedirectToAction("Detalhes", "Conta"));
        }
示例#4
0
        public IActionResult RealizarTroca(int id)
        {
            LivroPedido p = _facade.Query <LivroPedido>(p => p.Id == id,
                                                        p => p).FirstOrDefault();

            p.Trocado = true;

            Troca t = new Troca
            {
                Cliente     = _facade.GetAllInclude(GetClienteComEmail()),
                LivroPedido = p,
                StatusTroca = StatusTroca.Processamento
            };

            string msg = _facade.Editar(p);

            msg += _facade.Cadastrar(t);

            if (msg != "")
            {
                TempData["Alert"] = msg;
            }
            return(RedirectToAction("Detalhes", "Conta"));
        }