private static void ContinuarComprando(CarrinhoDeCompras carrinhoDeCompras) { Estoque.PrintProdutosDisponiveis(); GetProdutosQueOUsuarioDesejaComprar(carrinhoDeCompras); var opcaoDoCliente = AtendimentoAoCliente.GetOpcaoDoCliente(); AtendimentoAoCliente.RealizaOpcaoDoCliente(carrinhoDeCompras, opcaoDoCliente); }
private static void EnviarProdutos(CarrinhoDeCompras carrinhoDeCompras) { Console.WriteLine("\nOs produtos estao sendo enviados e chegarao em ate 10 dias uteis"); var usuario = carrinhoDeCompras.Usuario; Console.WriteLine("\nNome do destinatario: {0}\nEndereco:\nCidade: {1}, Bairro: {2}, Rua: {3}, Numero: {4}", usuario.Nome, usuario.Endereco.Cidade, usuario.Endereco.Bairro, usuario.Endereco.Rua, usuario.Endereco.Numero); }
private static void CancelarCompraEVoltarAoInicio(CarrinhoDeCompras carrinhoDeCompras) { carrinhoDeCompras.Esvaziar(); Estoque.PrintProdutosDisponiveis(); GetProdutosQueOUsuarioDesejaComprar(carrinhoDeCompras); var opcaoDoCliente = AtendimentoAoCliente.GetOpcaoDoCliente(); AtendimentoAoCliente.RealizaOpcaoDoCliente(carrinhoDeCompras, opcaoDoCliente); }
private static void RealizarPagamento(CarrinhoDeCompras carrinhoDeCompras) { Console.WriteLine("Realizando pagamento utilizando o cartao de credito cadastrado, aguarde..."); // simula a validacao do pagamento Thread.Sleep(2000); Console.WriteLine("\nPagamento realizado com sucesso!"); PrintProdutosComprados(carrinhoDeCompras); EnviarProdutos(carrinhoDeCompras); }
private static bool AdicionaProdutoAoCarrinho(int id, int quantidade, CarrinhoDeCompras carrinhoDeCompras) { var produto = Estoque.GetProdutoCadastradoPeloId(id); if (produto == null) { Console.WriteLine("\nNao foi encontrado produto para o id informado, tente novamente"); return(false); } else { carrinhoDeCompras.AdicionarOuAtualizarProdutoEQuantidade(produto, quantidade); carrinhoDeCompras.PrintCarrinhoDeCompras(); return(true); } }
public static void GetProdutosQueOUsuarioDesejaComprar(CarrinhoDeCompras carrinhoDeCompras) { bool clienteContinuaComprando = true; while (clienteContinuaComprando) { Console.WriteLine("\nInforme o Id do produto que deseja:"); var id = int.Parse(Console.ReadLine()); Console.WriteLine("\nInforme a quantidade do produto de Id {0} que deseja:", id); var quantidade = int.Parse(Console.ReadLine()); var resultadoFoiBemSucedido = AdicionaProdutoAoCarrinho(id, quantidade, carrinhoDeCompras); clienteContinuaComprando = resultadoFoiBemSucedido ? ClienteDesejaContinuarComprando() : true; } }
private static void PrintProdutosComprados(CarrinhoDeCompras carrinhoDeCompras) { Console.WriteLine("\nProdutos comprados:\n"); double valorTotal = default; foreach (var item in carrinhoDeCompras.GetCopiaDoDictionaryComProdutosEQuantidades()) { var produto = item.Key; var quantidade = item.Value; var valorDoItem = produto.Preco * quantidade; Console.WriteLine("Nome: {0} ------ Preco da unidade: {1} ------ Quantidade: {2} ------ Preco: {3}", produto.Nome, produto.Preco, quantidade, valorDoItem); valorTotal += valorDoItem; } }
static void Main(string[] args) { GerenciadorDeCadastroDeProduto.CadastrarProdutosRandomicosNoEstoque(); var usuario = GerenciadorDeCadastroDeUsuario.GetUsuarioPeloConsole(); GerenciadorDeCadastroDeUsuario.CadastrarUsuario(usuario); Estoque.PrintProdutosDisponiveis(); var carrinhoDeCompras = new CarrinhoDeCompras(usuario); AtendimentoAoCliente.GetProdutosQueOUsuarioDesejaComprar(carrinhoDeCompras); var opcaoDoCliente = AtendimentoAoCliente.GetOpcaoDoCliente(); AtendimentoAoCliente.RealizaOpcaoDoCliente(carrinhoDeCompras, opcaoDoCliente); }
public static void RealizaOpcaoDoCliente(CarrinhoDeCompras carrinhoDeCompras, OpcaoDoCliente opcaoDoCliente) { switch (opcaoDoCliente) { case OpcaoDoCliente.RealizarPagamento: RealizarPagamento(carrinhoDeCompras); break; case OpcaoDoCliente.ContinuarComprando: ContinuarComprando(carrinhoDeCompras); break; case OpcaoDoCliente.CancelarCompra: CancelarCompraEVoltarAoInicio(carrinhoDeCompras); break; default: Console.WriteLine("\nComando invalido, tente novamente"); opcaoDoCliente = GetOpcaoDoCliente(); AtendimentoAoCliente.RealizaOpcaoDoCliente(carrinhoDeCompras, opcaoDoCliente); break; } }