Esempio n. 1
0
        public ActionResult VisualizarLocacao(int id)
        {
            LocacaoController controller = new LocacaoController();
            var registro = controller.Buscar(id);

            return(View(registro));
        }
Esempio n. 2
0
        /// <summary>
        /// Event data button to enter information into the database
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_ConfirmarClick(object sender, EventArgs e)
        {
            try
            {
                if ((lv_ListaClientes.SelectedItems.Count > 0) && (lv_ListaFilmes.CheckedItems.Count > 0))
                {
                    string        IdCliente = this.lv_ListaClientes.SelectedItems[0].Text;
                    ClienteModels cliente   = ClienteController.GetCliente(Int32.Parse(IdCliente));
                    LocacaoModels locacao   = LocacaoController.Add(cliente);

                    foreach (ListViewItem Filme in this.lv_ListaFilmes.CheckedItems)
                    {
                        FilmeModels filme = FilmeController.GetFilme(Int32.Parse(Filme.Text));
                        locacao.AdicionarFilme(filme);
                    }
                    MessageBox.Show("Locação Realizada!");
                    this.Close();
                    this.parent.Show();
                }
                else
                {
                    MessageBox.Show("Selecione o Cliente e Pelo Menos Um Filme!");
                }
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message, "Selecione o Cliente e Pelo Menos Um Filme!");
            }
        }
Esempio n. 3
0
        public static void ListarLocacao()
        {
            Console.WriteLine("\n===================[ LISTA LOCAÇÕES ]==================");
            List <LocacaoModels> locacoes = LocacaoController.GetLocacao();

            locacoes.ForEach(locacao => Console.WriteLine(locacao));
        }
Esempio n. 4
0
        // Adicionando Locação na Lista pelo ID do CLiente
        public static void AdicionarLocacao()
        {
            List <ClienteModels> clientes = ClienteController.GetClientes();
            List <FilmeModels>   filmes   = FilmeController.GetFilmes();


            int idCliente = 0;

            Console.WriteLine("\nDigite o ID Cliente:");
            idCliente = Convert.ToInt32(Console.ReadLine());

            if (idCliente <= 5)
            {
                ClienteModels cliente = clientes.Find(cliente => cliente.IdCliente == idCliente);

                LocacaoModels locacao = LocacaoController.addLocacao(1, cliente);

                int idFilme = 0;

                // Eqto IdFilme não for ZERO continua adicionando Locação
                do
                {
                    Console.WriteLine("\nDigite o ID Filme: ");
                    Console.WriteLine("DIGITE ZERO (0) P/ FINALIZAR!");
                    idFilme = Convert.ToInt32(Console.ReadLine());

                    if (idFilme != 0)
                    {
                        FilmeModels filme = filmes.Find(filme => filme.IdFilme == idFilme);

                        locacao.AdicionarFilme(filme);
                    }
                } while (idFilme != 0);
            }
        }
Esempio n. 5
0
        public override string ToString()
        {
            var     db      = new Context();
            Cliente cliente = (
                from cli in db.Clientes
                where cli.ClienteId == ClienteId
                select cli).First();
            string retorno = $"Cliente: {cliente.Nome}\n" +
                             $"Data da Locacao: {DtLocacao}\n" +
                             $"Data de Devolucao: {LocacaoController.GetDataDevolucao(DtLocacao, cliente)}\n";
            double            valorTotal = 0;
            string            strFilmes  = "";
            IEnumerable <int> filmes     =
                from filme in db.FilmeLocacao
                where filme.LocacaoId == LocacaoId
                select filme.FilmeId;

            if (filmes.Count() > 0)
            {
                foreach (int id in filmes)
                {
                    Filme filme = Filme.GetFilme(id);
                    strFilmes  += $"    Id: {filme.FilmeId} - Nome: {filme.NomeFilme}\n";
                    valorTotal += filme.Valor;
                }
            }
            else
            {
                strFilmes += "    Não há filmes";
            }
            retorno += $"Valor Total: {valorTotal:C2}\n" +
                       "   Filmes:\n" +
                       strFilmes;
            return(retorno);
        }
Esempio n. 6
0
        public static void CadastrarLocacao()
        {
            Console.WriteLine("---===[ CADASTRO DA LOCAÇÃO ]===---");
            List <ClienteModels> clientes = ClienteController.GetClientes();
            List <FilmeModels>   filmes   = FilmeController.GetFilmes();

            int idCliente = 0;


            Console.WriteLine("\nDigite o ID Cliente:");
            idCliente = Convert.ToInt32(Console.ReadLine());

            if (idCliente != 0)
            {
                ClienteModels cliente = clientes.Find(cliente => cliente.IdCliente == idCliente);
                LocacaoModels locacao = LocacaoController.addLocacao(cliente);

                int idFilme = 0;


                do
                {
                    Console.WriteLine("\nDigite o ID Filme: ");
                    Console.WriteLine("DIGITE ZERO (0) P/ FINALIZAR!");
                    idFilme = Convert.ToInt32(Console.ReadLine());

                    if (idFilme != 0)
                    {
                        FilmeModels filme = filmes.Find(filme => filme.IdFilme == idFilme);

                        locacao.AdicionarFilme(filme);
                    }
                } while (idFilme != 0);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Creating rentals by Customer ID and Movies ID
        /// </summary>
        public static void CadastrarLocacao()
        {
            Console.WriteLine("---===[ CADASTRO DA LOCAÇÃO ]===---");
            List <ClienteModels> clientes = ClienteController.GetClientes();
            List <FilmeModels>   filmes   = FilmeController.GetFilmes();

            int idCliente = 0;

            // Insert costumer by ID
            Console.WriteLine("\nDigite o ID Cliente:");
            idCliente = Convert.ToInt32(Console.ReadLine());

            if (idCliente != 0)
            {
                ClienteModels cliente = clientes.Find(cliente => cliente.IdCliente == idCliente);
                LocacaoModels locacao = LocacaoController.addLocacao(cliente);

                int idFilme = 0;

                // As long as IdFilm is not ZERO, it continues adding movies in rent
                do
                {
                    Console.WriteLine("\nDigite o ID Filme: ");
                    Console.WriteLine("DIGITE ZERO (0) P/ FINALIZAR!");
                    idFilme = Convert.ToInt32(Console.ReadLine());

                    if (idFilme != 0) // If movie ID is nonzero
                    {
                        FilmeModels filme = filmes.Find(filme => filme.IdFilme == idFilme);

                        locacao.AdicionarFilme(filme); // Add movie in rent
                    }
                } while (idFilme != 0);                //Looping while movie ID is nonzero
            }
        }
        private void btnConfirmaClick(object sender, EventArgs e)
        {
            locacao           = new Locacao();
            locacao.ClienteId = clienteLocal.ClienteId;
            locacao.Cliente   = clienteLocal;
            string lstFilm = "";

            //double vl = 0;
            foreach (ListViewItem filme in lvFilmes.CheckedItems)
            {
                lstFilm += lstFilm + filme.SubItems[1].Text.ToString();
            }
            DialogResult result = MessageBox.Show(
                $"Nome: {this.clienteLocal.Nome}\n" +
                $"Filmes Locados: " + lstFilm +
                $"Valor da Locação: ",
                "Confirma Locação?",
                MessageBoxButtons.OKCancel,
                MessageBoxIcon.Question
                );

            if (result == DialogResult.OK)
            {
                Locacao locacaoLocal = Locacao.InserirLocacao(clienteLocal, DateTime.Now);
                foreach (ListViewItem filmeChecado in lvFilmes.CheckedItems)
                {
                    string sFilmeId = filmeChecado.Text;
                    int    filmeId  = Convert.ToInt32(sFilmeId);
                    Filme  filme    = FilmeController.GetFilme(filmeId);
                    LocacaoController.InserirFilme(locacaoLocal, filme);
                }
            }
            this.Close();
            parent.Show();
        }
Esempio n. 9
0
        public ListaLocacao(Form parent)
        {
            this.Text   = "Lista de Locações";
            this.Size   = new Size(400, 500);
            this.parent = parent;

            ListLocacao          = new ListView();
            ListLocacao.Location = new Point(15, 20);
            ListLocacao.Size     = new Size(350, 350);
            // ListFilme.View = View.Details;
            this.Controls.Add(ListLocacao);

            ListLocacao.View = View.Details;
            foreach (Locacao locacao in LocacaoController.locacoes())
            {
                ListViewItem locacoes = new ListViewItem(locacao.LocacaoId.ToString());
                locacoes.SubItems.Add(locacao.ClienteId.ToString());
                locacoes.SubItems.Add(locacao.FilmeId.ToString());
                locacoes.SubItems.Add(locacao.DataLocacao.ToString());
                ListLocacao.Items.Add(locacoes);
            }

            ListLocacao.Columns.Add("Locação ID: ", -2, HorizontalAlignment.Left);
            ListLocacao.Columns.Add("Cliente ID: ", -2, HorizontalAlignment.Left);
            ListLocacao.Columns.Add("Filme ID: ", -2, HorizontalAlignment.Left);
            ListLocacao.Columns.Add("Data Locação: ", -2, HorizontalAlignment.Left);
            this.Controls.Add(ListLocacao);

            btCancela          = new Button();
            btCancela.Text     = "Sair";
            btCancela.Location = new Point(15, 370);
            btCancela.Click   += new EventHandler(btCancelaClick);
            this.Controls.Add(btCancela);
        }
Esempio n. 10
0
        /// <sumary>This method determines the string convertion.</sumary>
        public string ToString(bool simple = false)
        {
            if (simple)
            {
                string retorno = $"Id: {IdCliente} - Nome: {Nome}\n" +
                                 "   Locações: \n";
                if (Locacoes.Count > 0)
                {
                    Locacoes.ForEach(
                        locacao => retorno += $"    Id: {locacao.IdLocacao} - " +
                                              $"Data: {locacao.DtLocacao} - " +
                                              $"Data de Devolução: {LocacaoController.GetDataDevolucao(locacao)}\n"
                        );
                }
                else
                {
                    retorno += "    Não há locações";
                }

                return(retorno);
            }

            string dtNasc = this.DtNasc.ToString("dd/MM/yyyy");

            return($"Nome: {Nome}\n" +
                   $"Data de Nasciment: {dtNasc}\n" +
                   $"Qtd de Filmes: {ClienteController.GetQtdFilmes(this)}");
        }
Esempio n. 11
0
        public static void AdicionarLocacao()
        {
            List <ClienteModels> clientes = ClienteController.GetClientes();
            List <FilmeModels>   filmes   = FilmeController.GetFilmes();

            Console.WriteLine("Digite o id Cliente:");
            int idCliente = Convert.ToInt32(Console.ReadLine());

            ClienteModels cliente = clientes.Find(cliente => cliente.IdCliente == idCliente);

            LocacaoModels locacao = LocacaoController.addLocacao(1, cliente);

            int idFilme = 0;

            do
            {
                Console.WriteLine("Digite o id Filme: (Digite zero (0) para sair)");
                idFilme = Convert.ToInt32(Console.ReadLine());

                if (idFilme != 0)
                {
                    FilmeModels filme = filmes.Find(filme => filme.IdFilme == idFilme);

                    locacao.AdicionarFilme(filme);
                }
            } while(idFilme != 0);
        }
        // List rental window
        public void InitializeComponent(Form parent)
        {
            // Window parameters
            this.BackColor = ColorTranslator.FromHtml("#6d6a75");
            this.Font      = new Font(this.Font, FontStyle.Bold);
            this.Size      = new Size(600, 640);
            this.parent    = parent;

            // PictureBox
            this.pb_Lista            = new Library.PictureBox();
            this.pb_Lista.Location   = new Point(50, 0);
            this.pb_Lista.Size       = new Size(470, 80);
            this.pb_Lista.ClientSize = new Size(470, 80);
            this.pb_Lista.Load("./Views/assets/lista.jpg");
            this.Controls.Add(pb_Lista);

            // ListView - Rentals
            this.lv_ListaLocacoes          = new Library.ListView();
            this.lv_ListaLocacoes.Location = new Point(20, 100);
            this.lv_ListaLocacoes.Size     = new Size(540, 400);
            ListViewItem         locacoes      = new ListViewItem();
            List <LocacaoModels> locacoesLista = LocacaoController.GetLocacoes();

            foreach (var locacao in locacoesLista)
            {
                ListViewItem  lv_ListaLocacao = new ListViewItem(locacao.IdLocacao.ToString());
                ClienteModels cliente         = ClienteController.GetCliente(locacao.IdCliente);
                lv_ListaLocacao.SubItems.Add(cliente.NomeCliente.ToString());
                lv_ListaLocacao.SubItems.Add(cliente.CpfCliente.ToString());
                lv_ListaLocacao.SubItems.Add(locacao.DataLocacao.ToString("dd/MM/yyyy"));
                lv_ListaLocacao.SubItems.Add(locacao.CalculoDataDevol().ToString("dd/MM/yyyy"));
                lv_ListaLocacao.SubItems.Add(locacao.QtdeFilmes().ToString());
                lv_ListaLocacao.SubItems.Add(locacao.ValorTotal().ToString("C2"));
                lv_ListaLocacoes.Items.Add(lv_ListaLocacao);
            }
            this.lv_ListaLocacoes.MultiSelect = false;
            this.lv_ListaLocacoes.Columns.Add("ID", -2, HorizontalAlignment.Center);
            this.lv_ListaLocacoes.Columns.Add("Locatário", -2, HorizontalAlignment.Left);
            this.lv_ListaLocacoes.Columns.Add("CPF", -2, HorizontalAlignment.Center);
            this.lv_ListaLocacoes.Columns.Add("Data Locação", -2, HorizontalAlignment.Center);
            this.lv_ListaLocacoes.Columns.Add("Data Devolução", -2, HorizontalAlignment.Center);
            this.lv_ListaLocacoes.Columns.Add("Qtde Filmes", -2, HorizontalAlignment.Center);
            this.lv_ListaLocacoes.Columns.Add("Total", -2, HorizontalAlignment.Left);
            this.Controls.Add(lv_ListaLocacoes);

            // List grouping box
            this.gb_ListaLocacoes          = new Library.GroupBox();
            this.gb_ListaLocacoes.Location = new Point(10, 80);
            this.gb_ListaLocacoes.Size     = new Size(560, 430);
            this.gb_ListaLocacoes.Text     = "LISTA DE LOCAÇÕES";
            this.Controls.Add(gb_ListaLocacoes);

            // Buttons
            this.btn_ListaSair          = new Library.Button();
            this.btn_ListaSair.Text     = "SAIR";
            this.btn_ListaSair.Location = new Point(200, 530);
            this.btn_ListaSair.Click   += new EventHandler(this.btn_ListaSairClick);
            this.Controls.Add(btn_ListaSair);
        }
Esempio n. 13
0
        public ActionResult ExcluirLocacaoConfirmar(int id)
        {
            LocacaoController controller = new LocacaoController();

            controller.Excluir(id);

            return(RedirectToAction("ListaLocacao"));
        }
Esempio n. 14
0
        private void btn_ListaConsultaClick(object sender, EventArgs e)
        {
            string         IdLocacao = this.lv_ListaLocacoes.SelectedItems[0].Text;
            LocacaoModels  locacao   = LocacaoController.GetLocacao(Int32.Parse(IdLocacao));
            LocacaoDetalhe btn_ListaConsultaClick = new LocacaoDetalhe(this, locacao);

            btn_ListaConsultaClick.Show();
        }
        /// <summary>
        /// This method is responsible for creating the rents
        /// </summary>
        public static void InserirLocacao()
        {
            Console.WriteLine("Informações sobre a locação: ");
            Cliente cliente;
            Filme   filme;

            // Search the costumer with id
            do
            {
                Console.WriteLine("Informe o id do cliente: ");
                int idCliente = Convert.ToInt32(Console.ReadLine());
                cliente = null; // Reset the value to avoid garbage

                // Try to locate the information in the collection
                try {
                    cliente = ClienteController.GetCliente(idCliente);
                    if (cliente == null)   // If the information is not present, a message is returned
                    {
                        Console.WriteLine("Cliente não localizado, favor digitar outro id.");
                    }
                } catch {
                    Console.WriteLine("Cliente não localizado, favor digitar outro id.");
                }
            } while (cliente == null);

            // Insert the rent to the costumer
            Locacao locacao = LocacaoController.InserirLocacao(cliente);

            // Search the movie with id
            int filmOpt = 0;

            do
            {
                Console.WriteLine("Informe o id do filme alugado: ");
                int idFilme = Convert.ToInt32(Console.ReadLine());
                filme = null; // Reset the value to avoid garbage

                // Try to locate the information in the collection
                try {
                    filme = FilmeController.GetFilme(idFilme);
                    if (filme == null)   // If the information is not present, a message is returned
                    {
                        Console.WriteLine("Filme não localizado, favor digitar outro id.");
                    }
                } catch {
                    Console.WriteLine("Filme não localizado, favor digitar outro id.");
                }

                if (filme != null)
                {
                    // Insert the movie on the rent
                    LocacaoController.InserirFilme(locacao, filme);
                    Console.WriteLine("Deseja informar outro filme? " +
                                      "Informar 1 para Não ou qualquer outro valor para Sim.");
                    filmOpt = Convert.ToInt32(Console.ReadLine());
                }
            } while (filmOpt != 1);
        }
Esempio n. 16
0
        public ActionResult ListaLocacao()
        {
            //Instancia a controller de RN (SERVICE)
            LocacaoController controller = new LocacaoController();

            List <Locacao> lst = controller.Listar();

            return(View(lst));
        }
Esempio n. 17
0
        public void get_call_obter()
        {
            //Arrange
            var controller = new LocacaoController(service.Object);

            //Act
            var result = controller.Get();

            //Assert
            Assert.IsNotNull(result);
        }
Esempio n. 18
0
        /// <summary>
        /// Method of return day
        /// </summary>
        public DateTime CalculoDataDevol()
        {
            var db = new Context();
            IEnumerable <int> filmes =
                from filme in db.LocacaoFilme
                where filme.IdLocacao == IdLocacao
                select filme.IdFilme;

            ClienteModels cliente = ClienteModels.GetCliente(IdCliente);

            return(LocacaoController.CalculoDataDevolucao(DataLocacao, cliente));
        }
Esempio n. 19
0
        public ActionResult EditarLocacao(Locacao registro)
        {
            if (!ModelState.IsValid)
            {
                return(View(registro));
            }

            LocacaoController controller = new LocacaoController();

            controller.Atualizar(registro);

            return(RedirectToAction("ListaLocacao"));
        }
        public override string ToString()
        {
            string retorno = $"----------------===[ DADOS LOCAÇÃO ]===----------------\n" +
                             Cliente +
                             $"-> PREÇO TOTAL DAS LOCAÇÕES: R$ {LocacaoController.PrecoTotalLocaçoes(filmes)}\n" +
                             $"-> DATA DE DEVOLUÇÃO: {LocacaoController.calculoDataDevolucao(DataLocacao)}\n" +
                             $"-> QTDE TOTAL DE FILMES LOCADOS: {LocacaoController.TotalFilmes(filmes)}\n" +
                             $"-------------------------------------------------------\n";

            foreach (FilmeModels filme in filmes)
            {
                retorno += filme;
            }
            return(retorno);
        }
Esempio n. 21
0
        //Teste Consulta LINQ
        public static void ConsultarLocacao()
        {
            Console.WriteLine("Digite o ID da Locação: ");
            int idLocacao = Convert.ToInt32(Console.ReadLine());

            IEnumerable query =
                from locacao in LocacaoController.GetLocacao()
                where locacao.IdLocacao == idLocacao
                select locacao.ToString();

            foreach (string locacoes in query)
            {
                Console.WriteLine("\n=================[ CONSULTA LOCAÇÕES ]=================");
                Console.WriteLine(locacoes.ToString());
            }
        }
Esempio n. 22
0
        public void post_call_obter()
        {
            //Arrange
            var controller = new LocacaoController(service.Object);

            var locacao = new Locacao()
            {
                CpfCliente    = "08595979979",
                DataDeCriacao = DateTime.Now,
            };

            //Act
            controller.Post(locacao);

            //Assert
            service.Verify(x => x.SalvarLocacao(locacao), Times.AtLeastOnce());
        }
Esempio n. 23
0
        /// <summary>
        /// Event button to movie delete
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_DeleteLocacaoClick(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Deseja Realmente Exluir Essa Locação?", "Exclusão", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (result == DialogResult.Yes)
            {
                try
                {
                    LocacaoController.DeleteLocacao(idLocacao);
                    this.Close();
                }
                catch (Exception error)
                {
                    MessageBox.Show(error.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Esempio n. 24
0
        public void delete_call_obter()
        {
            //Arrange
            var controller = new LocacaoController(service.Object);
            var locacao    = new Locacao()
            {
                Id            = 1,
                CpfCliente    = "08595979979",
                DataDeCriacao = DateTime.Now,
            };


            //Act
            var result = controller.Delete(locacao);

            //Assert
            Assert.AreEqual(result.GetType(), typeof(OkResult));
        }
Esempio n. 25
0
        public override string ToString()
        {
            var db = new Context();

            IEnumerable <int> filmes =
                from filme in db.LocacaoFilme
                where filme.IdLocacao == IdLocacao
                select filme.IdFilme;

            ClienteModels cliente = ClienteModels.GetCliente(IdCliente);

            string retorno = cliente +
                             $"\n----------------===[ DADOS LOCAÇÃO ]===----------------\n" +
                             $"-> DATA DE LOCAÇÃO: {DataLocacao.ToString("dd/MM/yyyy")}\n" +
                             $"-> DATA DE DEVOLUÇÃO: {LocacaoController.CalculoDataDevolucao(DataLocacao, cliente).ToString("dd/MM/yyyy")}\n" +
                             $"-> QTDE TOTAL DE FILMES: {filmes.Count()}\n";


            double ValorTotal = 0;
            string strFilmes  = "";

            if (filmes.Count() > 0)
            {
                foreach (int id in filmes)
                {
                    FilmeModels filme = FilmeModels.GetFilme(id);
                    strFilmes  += filme;
                    ValorTotal += filme.ValorLocacaoFilme;
                }
            }
            else
            {
                strFilmes += "    NÃO HÁ FILMES!";
            }

            retorno += $"-> PREÇO TOTAL DAS LOCAÇÕES: R$ {ValorTotal.ToString("C2")}\n" +
                       $"-------------------------------------------------------\n\n" +
                       $"===================[ FILMES LOCADOS ]==================\n";

            return(retorno + strFilmes +

                   $"=======================================================\n");
        }
Esempio n. 26
0
        public static void ConsultarLocacao()
        {
            Console.WriteLine("Digite o ID da Locação: ");
            int idLocacao = Convert.ToInt32(Console.ReadLine());

            try
            {
                LocacaoModels locacao =
                    (from locacao1 in LocacaoController.GetLocacao()
                     where locacao1.IdLocacao == idLocacao
                     select locacao1).First();

                Console.WriteLine("\n=================[ CONSULTA LOCAÇÕES ]=================");
                Console.WriteLine(locacao.ToString());
            }
            catch
            {
                Console.WriteLine("==> LOCAÇÃO NÃO EXISTE!");
            }
        }
        public override string ToString()
        {
            var           db      = new Context();
            ClienteModels cliente = (
                from client in db.Clientes
                where client.ClienteId == ClienteId
                select client).First();

            String retornar = $" __________Dados Da Locação__________\n" +
                              $"|Cliente {cliente.Nome}\n" +
                              $"|Data da Locação: {DataLocacao}\n" +
                              $"|Data de Devolução: {LocacaoController.CalcularDataDevolucao(DataLocacao, cliente)}\n";

            double total     = 0;
            string strFilmes = "";

            IEnumerable <int> filmes =
                from filme in db.FilmeLocacao
                where filme.LocacaoId == LocacaoId
                select filme.FilmeId;

            if (filmes.Count() > 0)
            {
                foreach (int id in filmes)
                {
                    FilmeModels filme = FilmeModels.GetFilme(id);
                    strFilmes += $"\n|Id: {filme.FilmeId} - Título: {filme.Titulo}\n";
                    total      = filme.Preco;
                }
            }
            else
            {
                strFilmes += $"Não há filme!";
            }

            retornar += $"|Valor total :{total:C2}\n" +
                        $"|Filmes: " + strFilmes +
                        $"|______________________________________";

            return(retornar);
        }
Esempio n. 28
0
        public string ToString(bool simple = false)
        {
            Context        db           = new Context();
            List <Locacao> LocacoesList = (
                from locacao in db.Locacoes
                where locacao.ClienteId == ClienteId
                select locacao).ToList();

            if (simple)
            {
                string retorno = $"Id: {ClienteId} - Nome: {Nome}\n" +
                                 "   Locações: \n";
                if (LocacoesList.Count > 0)
                {
                    LocacoesList.ForEach(
                        locacao => retorno += $"    Id: {locacao.LocacaoId} - " +
                                              $"Data: {locacao.DtLocacao} - " +
                                              $"Data de Devolução: {LocacaoController.GetDataDevolucao(locacao.DtLocacao, this)}\n"
                        );
                }
                else
                {
                    retorno += "    Não há locações";
                }
                return(retorno);
            }
            int qtdFilmes = 0;

            foreach (Locacao locacao in LocacoesList)
            {
                qtdFilmes += (from filme in db.FilmeLocacao
                              where filme.LocacaoId == locacao.LocacaoId
                              select filme).Count();
            }
            string dtNasc = DtNasc.ToString("dd/MM/yyyy");

            return($"Nome: {Nome}\n" +
                   $"Data de Nasciment: {dtNasc}\n" +
                   $"Qtd de Filmes: {qtdFilmes}");
        }
        /// <sumary>This method determines the string convertion.</sumary>
        public override string ToString()
        {
            string valor   = LocacaoController.GetValorTotal(this).ToString("C2");
            string retorno = $"Cliente: {Cliente.Nome}\n" +
                             $"Data da Locacao: {DtLocacao}\n" +
                             $"Valor: {valor}\n" +
                             $"Data de Devolucao: {LocacaoController.GetDataDevolucao(this)}\n" +
                             "   Filmes:\n";

            if (Filmes.Count > 0)
            {
                Filmes.ForEach(
                    filme => retorno += $"    Id: {filme.IdFilme} - " +
                                        $"Nome: {filme.NomeFilme}\n"
                    );
            }
            else
            {
                retorno += "    Não há filmes";
            }

            return(retorno);
        }
        /// <summary>
        /// This method is responsible for consulting a rent
        /// </summary>
        public static void ConsultarLocacao()
        {
            Locacao locacao;

            // Search the rent with id
            do
            {
                Console.WriteLine("Informe a locacao que deseja consultar: ");
                int idLocacao = Convert.ToInt32(Console.ReadLine());
                locacao = null; // Reset the value to avoid garbage

                // Try to locate the information in the collection
                try {
                    locacao = LocacaoController.GetLocacao(idLocacao);
                    if (locacao == null)   // If the information is not present, a message is returned
                    {
                        Console.WriteLine("Locação não localizada, favor digitar outro id.");
                    }
                } catch {
                    Console.WriteLine("Locação não localizada, favor digitar outro id.");
                }
            } while (locacao == null);
            Console.WriteLine(locacao.ToString());
        }