protected string GetDetalhe(Locacao locacao)
 {
     if (locacao == null)
     {
         throw new ArgumentException("Parâmetro inválido", nameof(locacao));
     }
     return(MontarDetalhe(locacao));
 }
 private string MontarDetalhe(Locacao locacao)
 {
     return(locacao.Filme + GetQuebraDeLinha());
 }
        public override void Main()
        {
            try
            {
                var cultura = new CultureInfo("pt-BR");

                var cliente = new Cliente("Zezinho da Silva");
                using (var streamReader = File.OpenText("filmes.csv"))
                {
                    streamReader.ReadLine();

                    string linha = string.Empty;
                    while ((linha = streamReader.ReadLine()) != null)
                    {
                        string[] campos  = linha.Split('|');
                        Locacao  locacao =
                            new Locacao(campos[0],
                                        int.Parse(campos[1]),
                                        int.Parse(campos[2]),
                                        int.Parse(campos[3]),
                                        double.Parse(campos[4], NumberStyles.Currency, cultura));

                        cliente.Adicionar(locacao);
                    }
                }

                WriteLine(new Resumo(cliente).GetResumo());
                WriteLine();

                WriteLine(new ResumoHTML(cliente).GetResumo());
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }

            WriteLine();

            try
            {
                Cliente cliente2 = new Cliente(null);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }

            try
            {
                Cliente cliente3 = new Cliente("Homer Simpson");
                cliente3.Adicionar(null);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }

            try
            {
                WriteLine(new ResumoHTML(null).GetResumo());
                WriteLine();
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }
        }
 public void Adicionar(Locacao locacao) => Locacoes.Add(locacao);