示例#1
0
        // GET: Produto
        public ActionResult Index()
        {
            if (_session.GetString("Alertas") != null)
            {
                ViewBag.Alerta = _session.GetString("Alertas");
                _session.Remove("Alertas");
            }
            try
            {
                if (_session.Get <Cliente>("cliente").Email != "*****@*****.**")
                {
                    return(RedirectToAction("VoltarAoSite"));
                }
            }
            catch
            {
                return(RedirectToAction("VoltarAoSite"));
            }
            var token = _apiIdentificacao.Login(_session.GetString("username"), _session.GetString("password")).Result;

            return(View(_apiCore.BuscarTodosProdutos(token).Result));
        }
        public IActionResult Create(Guid id, DateTime Data)
        {
            try
            {
                if (_session.Get <Cliente>("cliente").Email == "*****@*****.**")
                {
                    return(RedirectToAction("VoltarAoSite"));
                }
            }
            catch
            {
                return(RedirectToAction("VoltarAoSite"));
            }

            var clientes = _session.Get <Cliente>("cliente");

            ViewBag.Clientes = clientes;
            var token    = _apiIdentificacao.Login(_session.GetString("username"), _session.GetString("password")).Result;
            var produtos = _apiCoreProduto.BuscarTodosProdutos(token).Result;

            ViewBag.Produtos = produtos;
            Pedido pedido;

            if (id == Guid.Empty)
            {
                pedido = new Pedido();
            }
            else
            {
                pedido = new Pedido()
                {
                    Id = id, DataPedido = Data
                };
            }


            if (_session.Get <Guid>("Pedido") != Guid.Empty)
            {
                pedido.Id = _session.Get <Guid>("Pedido");
            }

            _session.Set <IEnumerable <Produto> >("Produtos", produtos);
            _session.Set <Guid>("Pedido", pedido.Id);
            pedido.DataPedido = DateTime.Now;
            IEnumerable <PedidoFotoProduto> fotosSelecionadas = null;

            if (_session.Get <IEnumerable <PedidoFotoProduto> >("FotosSelecionadas") != null)
            {
                fotosSelecionadas = _session.Get <IEnumerable <PedidoFotoProduto> >("FotosSelecionadas");
            }
            if (_session.Get <IEnumerable <PedidoFotoProduto> >("FotosDoProdutoSelecionadas") != null)
            {
                List <PedidoFotoProduto>        fotosSelecionadasAtualizada = new List <PedidoFotoProduto>();
                IEnumerable <PedidoFotoProduto> fotosDoProdutoSelecionadas  = _session.Get <IEnumerable <PedidoFotoProduto> >("FotosDoProdutoSelecionadas");
                if (fotosSelecionadas != null)
                {
                    if (fotosDoProdutoSelecionadas.Count() > 0 && fotosSelecionadas.Count() > 0)
                    {
                        fotosSelecionadasAtualizada = fotosSelecionadas.Where(p => p.FotoProduto.Produto.Id != fotosDoProdutoSelecionadas.FirstOrDefault().FotoProduto.Produto.Id).ToList();
                    }
                    else
                    {
                        fotosSelecionadasAtualizada = fotosSelecionadas.Where(p => p.FotoProduto.Produto.Id != _session.Get <Guid>("Produto")).ToList();
                    }
                }

                foreach (var fotosDoProdutoSelecionada in fotosDoProdutoSelecionadas)
                {
                    fotosSelecionadasAtualizada.Add(fotosDoProdutoSelecionada);
                }

                _session.Set <IEnumerable <PedidoFotoProduto> >("FotosSelecionadas", fotosSelecionadasAtualizada);
                _session.Remove("FotosDoProdutoSelecionadas");
            }

            ViewBag.FotosSelecionadas = _session.Get <IEnumerable <PedidoFotoProduto> >("FotosSelecionadas");
            return(View(pedido));
        }