Example #1
0
        public static void Comprar()
        {
            var tv = new Televisao("TV", "LG", 3000, "SmartTV", "LED", 55);

            tv.CalcularPreco();

            var refrigerador = new Geladeira("Refrigerador", "Brastemp", 4000, "FrostFree", 500, "inox");

            refrigerador.CalcularPreco();

            Console.WriteLine("====================== OFERTAS IMPERDÍVEIS =====================\n");
            Console.WriteLine($" {tv.Nome} {tv.Marca} {tv.Polegadas}\" {tv.SmartTV} R$ {tv.Valor}");
            Console.WriteLine($" {refrigerador.Nome} {refrigerador.Marca} {refrigerador.FrostFree}" +
                              $" {refrigerador.Litros}L {refrigerador.Cor} R$ {refrigerador.Valor}");
            Console.WriteLine("\n================================================================\n");

            Console.WriteLine("\nDigite o valor do produto escolhido: ");
            var valor = Decimal.Parse(Console.ReadLine());

            if (valor == tv.Valor)
            {
                listaProdutos.Add(tv);
            }
            if (valor == refrigerador.Valor)
            {
                listaProdutos.Add(refrigerador);
            }
            if (valor != tv.Valor && valor != refrigerador.Valor)
            {
                Console.WriteLine("\n Por gentileza, digite um valor válido.");
                return;
            }

            Console.WriteLine("\nDigite o CPF do cliente: ");
            var cpf = Console.ReadLine();

            Console.WriteLine("\nDigite uma descrição caso necessário: ");
            var descricao = Console.ReadLine();

            Console.WriteLine("\nDigite a forma de pagamento: " +
                              "\n 1 - À vista | 2 - Boleto | 0 - Cancelar compra ");
            var pagamento = int.Parse(Console.ReadLine());

            switch (pagamento)
            {
            case 0:
                Console.WriteLine("Sua compra foi cancelada");
                break;

            case 1:
                var dinheiro = new Dinheiro(cpf, valor);
                dinheiro.CalcularDesconto();

                Console.WriteLine($"\n Compra realizada com sucesso!" +
                                  $"\n Valor: R$ {valor}" +
                                  $"\n Valor a ser pago: R$ {dinheiro.Valor} [com desconto de 10%] " +
                                  $"\n Data da compra: {dinheiro.DataCompra}" +
                                  $"\n\nPara efetuar o pagamento de sua compra " +
                                  $"selecione a opção 2");

                listaDinheiro.Add(dinheiro);
                break;

            case 2:
                var boleto = new Boleto(cpf, valor, descricao);
                boleto.GerarBoleto();

                Console.WriteLine($"\n Boleto gerado com sucesso!" +
                                  $"\n Valor do boleto: R$ {boleto.Valor}" +
                                  $"\n Código de barras: {boleto.CodigoBarra} " +
                                  $"\n Data de vencimento: {boleto.DataVencimento}" +
                                  $"\n\nPara efetuar o pagamento de seu boleto " +
                                  $"selecione a opção 2");

                listaBoletos.Add(boleto);
                break;

            default:
                break;
            }
        }