예제 #1
0
        public static void Devolucao(List <EmprestimoLivro> listaEmprestimo)
        {
            CultureInfo     CultureBr       = new CultureInfo(name: "pt-BR");
            EmprestimoLivro emprestimoLivro = null;

            double valorMulta = 0;

            Console.WriteLine("Devolução do Livro\n");

            Console.WriteLine("Informe o Número do Tombo:");
            long numTombo = long.Parse(Console.ReadLine());

            if (EmprestimoLivroController.VerificaNTomboDisponivel(listaEmprestimo, numTombo))
            {
                emprestimoLivro = EmprestimoLivroController.RetornaEmprestimo(listaEmprestimo, numTombo);
                emprestimoLivro.StatusEmprestimo = 2; //update da status para devolvido

                string   dataAtual           = DateTime.Now.ToString("d");
                DateTime dataAtualConvertida = DateTime.ParseExact(dataAtual, "d", CultureBr);
                if (dataAtualConvertida > emprestimoLivro.DataDevolucao)
                {
                    valorMulta = CalculaMulta(emprestimoLivro.DataDevolucao, dataAtualConvertida);
                    Console.WriteLine("O valor da multa é: " + valorMulta.ToString("C"));
                }
                FileManagement.WriteFileCSV(listaEmprestimo);
            }
            else
            {
                Console.WriteLine("Livro não encontrado para devolução");
                return;
            }
        }
예제 #2
0
        public static EmprestimoLivro ReadEmprestimo(List <EmprestimoLivro> listaEmprestimoLivro, List <Livro> listaLivro, List <Cliente> listaCliente)
        {
            CultureInfo     CultureBr = new CultureInfo(name: "pt-BR");
            EmprestimoLivro emprestimoLivro;
            string          cpf;
            int             numTombo;
            long            idCliente;

            Console.WriteLine("Empréstimo do livro\n");

            Console.Write("Informe o Número do Tombo: ");
            numTombo = int.Parse(Console.ReadLine());
            if (VerificaNTomboCadastrado(listaLivro, numTombo))//caso o numTombo exista verifica se esta disponivel
            {
                if (VerificaNTomboDisponivel(listaEmprestimoLivro, numTombo))
                {
                    Console.WriteLine("Livro indisponível para empréstimo");
                    return(null);
                }
            }
            else
            {
                Console.WriteLine("Esse Número de tombo não esta cadastrado!");
                return(null);
            }
            Console.Write("Informe o CPF: ");
            cpf       = Console.ReadLine();
            idCliente = VerificaCPF(listaCliente, cpf);
            if (idCliente == 0)
            {
                Console.WriteLine("Cliente não cadastrado");
                return(null);
            }

            string   dataAtual      = DateTime.Now.ToString("d");
            DateTime dataEmprestimo = DateTime.ParseExact(dataAtual, "d", CultureBr);
            DateTime dataDevolucao;

            do
            {
                Console.Write("Informe a Data de Devolução: ");
                dataDevolucao = DateTime.ParseExact(Console.ReadLine(), "d", CultureBr);
                if (dataDevolucao < dataEmprestimo)
                {
                    Console.WriteLine("Data de Devolução deve ser maior que a data de Empréstimo!");
                }
            }while(dataDevolucao < dataEmprestimo);

            emprestimoLivro = new EmprestimoLivro
            {
                IdCliente        = idCliente,
                NumeroTombo      = numTombo,
                DataEmprestimo   = dataEmprestimo,
                DataDevolucao    = dataDevolucao,
                StatusEmprestimo = 1
            };
            return(emprestimoLivro);
        }