コード例 #1
0
ファイル: DevolucaoLivro.cs プロジェクト: polsani/Livraria
        private static void Devolver(DevolucaoLivro devolucao)
        {
            List <string> lista = new List <string>();

            using (var streamReader = new StreamReader("EMPRESTIMO.csv")) {
                while (!streamReader.EndOfStream)
                {
                    var linha           = streamReader.ReadLine();
                    var linhaSeparada   = linha.Split(';');
                    var linhaModificada = "";

                    if (linhaSeparada[1] == devolucao.NumeroTombo.ToString())
                    {
                        for (var i = 0; i < linhaSeparada.Length - 1; i++)
                        {
                            linhaModificada += $"{linhaSeparada[i]};";
                        }
                        linha = linhaModificada + "2";
                    }
                    lista.Add(linha);
                }
            }
            using (var streamWriter = new StreamWriter("EMPRESTIMO.csv")) {
                foreach (var l in lista)
                {
                    streamWriter.WriteLine(l);
                }
            }
        }
コード例 #2
0
ファイル: DevolucaoLivro.cs プロジェクト: polsani/Livraria
        private static bool PegarDadosArquivo(DevolucaoLivro devolucao)
        {
            Console.Write("Numero Tombo: ");
            if (long.TryParse(Console.ReadLine(), out var numeroTombo))
            {
                devolucao.NumeroTombo = numeroTombo;
            }

            if (File.Exists("EMPRESTIMO.csv"))
            {
                using (var streamReader = new StreamReader("EMPRESTIMO.csv")) {
                    while (!streamReader.EndOfStream)
                    {
                        var linha = streamReader.ReadLine().Split(';');
                        if (linha[1] == devolucao.NumeroTombo.ToString() && linha[4] == "1")
                        {
                            devolucao.DataDevolucao = DateTime.ParseExact(linha[3].ToString(), "d", ptBR);
                            return(true);
                        }
                    }
                }
            }
            Console.WriteLine("Livro não encontrado para devolução");
            Console.WriteLine("Aperte qualquer tecla para voltar ao menu . . .");
            Console.ReadKey();
            Console.Clear();
            return(false);
        }
コード例 #3
0
ファイル: DevolucaoLivro.cs プロジェクト: polsani/Livraria
        private static void Multa(DevolucaoLivro devolucao)
        {
            const float valorDia = 0.1f;

            var diferencaDias = (DateTime.Now.Date - devolucao.DataDevolucao).Days;

            if (diferencaDias > 0)
            {
                devolucao.ValorMulta = valorDia * diferencaDias;
            }
        }
コード例 #4
0
        static void Main()
        {
            while (true)
            {
                Console.WriteLine("====== Menu da Biblioteca ======\n");
                Console.WriteLine("1. Cadastro de Cliente\n2. Cadastro de Livro\n3. Empréstimo de Livro\n" +
                                  "4. Devolução do Livro\n5. Relatório de Empréstimos e Devoluções\n0. Sair");
                Console.Write("\nDigite o número da opção que deseja: ");
                var op = Console.ReadLine();
                Console.Clear();

                switch (op)
                {
                case "1":
                    Cliente.Cadastro();
                    continue;

                case "2":
                    Livro.Cadastro();
                    continue;

                case "3":
                    EmprestimoLivro.Emprestimo();
                    continue;

                case "4":
                    DevolucaoLivro.Devolucao();
                    continue;

                case "5":
                    Relatorio.ExibirRelatorio();
                    continue;

                case "0":
                    Console.WriteLine("Saindo do menu");
                    break;

                default:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("O número deve ser de 0 a 5!!\n");
                    Console.ResetColor();
                    continue;
                }
                break;
            }
            Console.WriteLine("\nPressione qualquer tecla para finalizar o programa . . .");
            Console.ReadKey();
        }
コード例 #5
0
ファイル: DevolucaoLivro.cs プロジェクト: polsani/Livraria
        public static void Devolucao()
        {
            var devolucao = new DevolucaoLivro();

            Console.WriteLine("### Devolução de Livro ###");

            if (!PegarDadosArquivo(devolucao))
            {
                return;
            }
            Multa(devolucao);
            Devolver(devolucao);

            Console.WriteLine("\nLivro Devolvido com Sucesso!!");

            if (devolucao.ValorMulta > 0)
            {
                Console.WriteLine($"Valor da multa: R${devolucao.ValorMulta:0.00}");
            }

            Console.WriteLine("Aperte qualquer tecla para voltar ao menu . . .");
            Console.ReadKey();
            Console.Clear();
        }