public Task PersistirCarrinho(string carrinhoId, CarrinhoDeCompra carrinho) { return(Task.Factory.StartNew(() => { using (var client = _manager.GetClient()) { client.Set(carrinhoId, carrinho, DateTime.Now.AddHours(1)); } })); }
private CarrinhoDeCompra RecuperarCarrinho() { CarrinhoDeCompra carrinhoDeCompra = (CarrinhoDeCompra)Session["CarrinhoDeCompra"]; if (carrinhoDeCompra == null) { carrinhoDeCompra = new CarrinhoDeCompra(); Session["CarrinhoDeCompra"] = carrinhoDeCompra; } return(carrinhoDeCompra); }
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); }
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); }
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() }); }
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; }
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()); } }
public void DeveTerAoMenosUmLivroParaFecharOCarrinho() { var CarrinhoZerado = new CarrinhoDeCompra(); Assert.Throws <ArgumentNullException>(() => CarrinhoZerado.FinalizarCompra()); }
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}"); } }
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); }
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!"); }
public ActionResult Index() { CarrinhoDeCompra carrinhoDeCompra = RecuperarCarrinho() ?? new CarrinhoDeCompra(); return(View(carrinhoDeCompra)); }