Example #1
0
 public Task PersistirCarrinho(string carrinhoId, CarrinhoDeCompra carrinho)
 {
     return(Task.Factory.StartNew(() =>
     {
         using (var client = _manager.GetClient())
         {
             client.Set(carrinhoId, carrinho, DateTime.Now.AddHours(1));
         }
     }));
 }
Example #2
0
        private CarrinhoDeCompra RecuperarCarrinho()
        {
            CarrinhoDeCompra carrinhoDeCompra = (CarrinhoDeCompra)Session["CarrinhoDeCompra"];

            if (carrinhoDeCompra == null)
            {
                carrinhoDeCompra            = new CarrinhoDeCompra();
                Session["CarrinhoDeCompra"] = carrinhoDeCompra;
            }

            return(carrinhoDeCompra);
        }
Example #3
0
 private bool ValidaSeTemEstoque(CarrinhoDeCompra carrinhoDeCompra)
 {
     foreach (var item in carrinhoDeCompra.Items)
     {
         var curso = cursoRepositorio.Recuperar(item.Curso.Id);
         if (curso.QuantidadeEstoque == 0)
         {
             return(false);
         }
     }
     return(true);
 }
Example #4
0
        public static CarrinhoDeCompraResource ModelToResource(CarrinhoDeCompra carrinhoDeCompra)
        {
            var carrinhoDeCompraResource = new CarrinhoDeCompraResource()
            {
                RepublicaId = carrinhoDeCompra.RepublicaId,
                Produtos    = carrinhoDeCompra.Produtos.Select(ProdutoMapper.ModelToResource),

                Id           = carrinhoDeCompra.Id,
                IsAtivo      = carrinhoDeCompra.IsAtivo,
                CriadoPor    = carrinhoDeCompra.CriadoPor,
                DataRegistro = carrinhoDeCompra.DataRegistro
            };

            return(carrinhoDeCompraResource);
        }
Example #5
0
 public static CarrinhoDeCompraDTO Map(CarrinhoDeCompra carrinho)
 {
     return(new CarrinhoDeCompraDTO
     {
         PrecoTotalDoCarrinhoSemFrete = carrinho.CalcularPrecoTotalDoCarrinho(),
         Itens = carrinho.Itens.Select(x =>
                                       new ItemCarrinhoDeCompraDTO
         {
             NomeProduto = x.NomeProduto,
             Quantidade = x.Quantidade,
             PrecoUnitario = x.PrecoUnitario,
             FornecedorUID = x.FornecedorUID,
             Fornecedor = x.Fornecedor,
             CodigoProduto = x.CodigoProduto,
             ImagemProduto = x.ImagemProduto
         }
                                       ).ToList()
     });
 }
Example #6
0
        public void AddCarrinho(int id, int quantidade = 0)
        {
            var lstLivros   = (List <Livro>)HttpContext.Current.Session["LstLivros"];
            var lstCarrinho = (List <CarrinhoDeCompra>)HttpContext.Current.Session["LstCarrinho"];
            var livro       = lstLivros.Find(x => x.LivroId.Equals(id));

            if (livro == null)
            {
                throw new ArgumentException("Livro não encontrado!");
            }

            if (quantidade > livro.Quantidade || quantidade <= 0)
            {
                throw new ArgumentException("Quantidade de livros indiponível!");
            }
            var cart = lstCarrinho.Find(x => x.Livro.LivroId.Equals(id));

            if (cart != null)
            {
                lstCarrinho.RemoveAll(x => x.CarrinhoId.Equals(cart.CarrinhoId));
                cart.Quantidade = cart.Quantidade + quantidade;
                cart.Total      = livro.Preco * cart.Quantidade;
            }
            else
            {
                var rand = new Random();
                cart = new CarrinhoDeCompra()
                {
                    CarrinhoId = rand.Next(0, Int32.MaxValue),
                    Livro      = livro,
                    Quantidade = quantidade,
                    Total      = livro.Preco * quantidade
                };
            }
            lstCarrinho.Add(cart);
            HttpContext.Current.Session["LstCarrinho"] = lstCarrinho;
            var totalQuantidadeRestante = livro.Quantidade - quantidade;

            livro.Quantidade = totalQuantidadeRestante < 0 ? 0 : totalQuantidadeRestante;
            lstLivros.RemoveAll(x => x.LivroId.Equals(livro.LivroId));
            lstLivros.Add(livro);
            HttpContext.Current.Session["LstLivros"] = lstLivros;
        }
Example #7
0
        public async Task <IActionResult> Create([FromBody] CarrinhoDeCompraResource carrinhoDeCompraResource)
        {
            if (carrinhoDeCompraResource == null)
            {
                return(NotFound());
            }
            try
            {
                var carrinhoDeCompra = new CarrinhoDeCompra();
                if (ModelState.IsValid)
                {
                    carrinhoDeCompra = CarrinhoDeCompraMapper.ResourceToModel(carrinhoDeCompraResource, carrinhoDeCompra);
                }
                _unitOfWork.CarrinhoDeCompras.Add(carrinhoDeCompra);
                await _unitOfWork.CompleteAsync();

                return(Ok(carrinhoDeCompra));
            }
            catch (Exception exception)
            {
                LogError.LogErrorWithSentry(exception);
                return(BadRequest());
            }
        }
Example #8
0
        public void DeveTerAoMenosUmLivroParaFecharOCarrinho()
        {
            var CarrinhoZerado = new CarrinhoDeCompra();

            Assert.Throws <ArgumentNullException>(() => CarrinhoZerado.FinalizarCompra());
        }
Example #9
0
    public static void Main(  )
    {
        Console.Clear(); // Limpa o terminal
        // Instanciando algumas variáveis
        Cliente          pessoa = new Cliente();
        CarrinhoDeCompra carrinho = new CarrinhoDeCompra();
        List <Produto>   listaProduto = new List <Produto>();
        Produto          novoProduto = new Produto();
        double           precoFinal = 0;
        bool             condicao = false;
        int escolhaProduto, escolhaQuantidade;

        Loja.mostraTabela(  );
        Console.WriteLine
            (@"||================Loja Future Now======================||
OBS.: Por medidas de segurança, entre com máscaras 😷
O B-ON irá te acompanhar e te ajudará a comprar seus produtos 🤜
");
        // Começa a pedir os dados
        Interacao.mostraAmarelo("🤖 B-ON:🤖 ");
        Console.Write("Digite seu nome-> ");
        pessoa.Nome = Console.ReadLine();
        Interacao.mostraAmarelo("🤖 B-ON:🤖  ");
        Console.Write("Digite seu telefone(Apenas número)-> ");
        pessoa.Telefone = int.Parse(Console.ReadLine());
        Interacao.mostraAmarelo("🤖 B-ON:🤖  ");
        Console.Write("Digite seu sexo(M / H / +)-> ");
        pessoa.Sexo = char.Parse(Console.ReadLine());

        // Terminou de pedir dados
        // Se usar ToLower() em char da erro



        comandos = new List <string> {
            "😢 sair😢 -> Sai do programa",
            "🔎  produtos🔍 -> Mostra os produtos",
            "🔁  continuar🔁 -> Continua comprando"
        };


        // Loop onde vai pedir os dados
        do
        {
            // Vai pedir o produto de acordo com o sexo
            Interacao.mostraAmarelo("🤖 B-ON:🤖  ");
            Cliente.analisaSexo(pessoa.Sexo);
            escolhaProduto = int.Parse(Console.ReadLine());
            // Agora pede a quantidade
            Interacao.mostraAmarelo("🤖 B-ON:🤖  ");
            Console.Write($"Ok {pessoa.Nome}, agora me diga a quantidade-> ");
            escolhaQuantidade = int.Parse(Console.ReadLine());
            Console.WriteLine($"➕ {escolhaQuantidade} pedidos adicionados com sucesso ➕");
            // Condição guardada em variável para não ocupar muito espaço
            condicao = escolhaQuantidade > Interacao.Quantidade[escolhaProduto];
            int valorConta = 0;
            if (!condicao)
            {
                for (int i = 0; i < escolhaQuantidade; i++)
                {
                    novoProduto.Descricao = Interacao.Descricao[escolhaProduto];
                    // Subtração
                    Interacao.Quantidade[escolhaProduto] -= 1;
                    // Adicionando a um novo produto
                    novoProduto.Quantidade = Interacao.Quantidade[escolhaProduto];
                    novoProduto.Preco      = Interacao.Preco[escolhaProduto];
                    novoProduto.Id         = escolhaProduto;
                    // Adicionando novoProduto no carrinho
                    listaProduto.Add(novoProduto);
                    // Soma o preço
                    precoFinal += novoProduto.Preco;
                    carrinho.ListaProdutos.Add(novoProduto);
                    valorConta++;
                }

                // Dando comando
                Interacao.mostraAmarelo("🤖 B-ON:🤖  ");
                Console.Write("Caso queira, me dê um comando (caso não lembre dos comandos, digite ");
                Interacao.mostraVermelho("'comandos'");
                Console.Write(" e depois do próximo produto pode escrever :)\n->");
                comando = Console.ReadLine();
            }
            else
            {
                Interacao.mostraVermelho("Quantidade pedida maior do que no estoque...\n");
                Interacao.mostraAmarelo("🤖 B-ON:🤖  ");
                Console.Write(@"Me dê um comando (caso não lembre dos comandos, digite 'comandos') :)
-> ");
                comando = Console.ReadLine();
            }
            Console.Clear();
            enviaComando();
        } while(comando.ToLower() != "sair");
        if (!condicao)
        {
            int aleatorio = randNum.Next(100000000, 999999999);
            Console.WriteLine($@"==========DADOS DO SEU PEDIDO==========
       Produtos   ~   Preço Final
Total:      {carrinho.ListaProdutos.Count}        | {precoFinal}R$
Código para pagar: {aleatorio}

OBS.: Caso ocorra algum problema e precisarmos ligá-lo, ligaremos para {pessoa.Telefone}");
        }
    }
Example #10
0
        public static CarrinhoDeCompra ResourceToModel(CarrinhoDeCompraResource carrinhoDeCompraResource, CarrinhoDeCompra carrinhoDeCompra)
        {
            carrinhoDeCompra.RepublicaId  = carrinhoDeCompraResource.RepublicaId;
            carrinhoDeCompra.Id           = (carrinhoDeCompra.Id > 0) ? carrinhoDeCompra.Id : carrinhoDeCompraResource.Id;
            carrinhoDeCompra.IsAtivo      = carrinhoDeCompraResource.IsAtivo;
            carrinhoDeCompra.CriadoPor    = carrinhoDeCompraResource.CriadoPor;
            carrinhoDeCompra.DataRegistro = (carrinhoDeCompraResource.Id > 0) ? carrinhoDeCompra.DataRegistro : DateTime.Now;

            return(carrinhoDeCompra);
        }
Example #11
0
        static void Main(string[] args)
        {
            new AutoresDAO();
            new CategoriasDAO();
            var livrosDAO = new LivrosDAO();

            CadastrarAutoresDao();
            CadastrarCategoriasDao();
            CadastrarLivrosDao();

            Cabecalho();

            var confirmacao = "S";

            while (confirmacao.ToUpper() == "S")
            {
                Console.Write("\n\nDigite ao menos duas letras para buscar um livro pelo título: ");
                string busca = Console.ReadLine();
                try
                {
                    var livros = livrosDAO.MostrarLivrosBuscados(busca);
                    Console.WriteLine($"\nBusca feita com o termo \"{busca}\".");
                    int numero = 1;
                    foreach (var livro in livros)
                    {
                        Console.WriteLine($"\n\nLivro número {numero}\n");
                        Console.WriteLine($"Título: {livro.Titulo}");
                        Console.WriteLine($"Autor: {livro.Autor.Nome}");
                        Console.WriteLine($"Categoria: {livro.Categoria.Nome}");
                        Console.WriteLine($"Resumo: {livro.Resumo}.");
                        Console.WriteLine($"Sumario: {livro.Sumario}");
                        Console.WriteLine($"ISBN: {livro.ISBN}");
                        Console.WriteLine($"Edição: {livro.Edicao}");
                        Console.WriteLine($"Páginas: {livro.Paginas}");
                        Console.WriteLine($"Preço: R${livro.Preco}");

                        numero++;
                    }
                }
                catch (NullReferenceException e)
                {
                    Console.WriteLine(e.Message);
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.WriteLine("\n\nDeseja fazer outra busca? (S/N): ");
                confirmacao = Console.ReadLine();
            }

            Console.Clear();

            CarrinhoDeCompra carrinho = new CarrinhoDeCompra();

            carrinho.AdicionaProduto(LivrosHelpers.LIVRO1, 1);
            carrinho.AdicionaProduto(LivrosHelpers.LIVRO1, 1);
            carrinho.AdicionaProduto(LivrosHelpers.LIVRO4, 4);
            carrinho.FinalizarCompra();

            Console.WriteLine("\nAté mais!");
        }
Example #12
0
        public ActionResult Index()
        {
            CarrinhoDeCompra carrinhoDeCompra = RecuperarCarrinho() ?? new CarrinhoDeCompra();

            return(View(carrinhoDeCompra));
        }