コード例 #1
0
        public FmrEmprestimo()
        {
            InitializeComponent();

            emprestimoController = new EmprestimoController();

            pessoaController    = new PessoaController();
            categoriaController = new CategoriaController();
            midiaController     = new MidiaController();

            pessoas    = pessoaController.ConsultaTodosAtivos();
            categorias = categoriaController.ConsultaTodosAtivos();
            midias     = midiaController.ConsultaTodosAtivos();

            foreach (var pessoa in pessoas)
            {
                PessoaComboBox.Items.Add(pessoa);
            }

            foreach (var categoria in categorias)
            {
                CategoriaComboBox.Items.Add(categoria);
            }

            foreach (var midia in midias.Where(m => m.DisponivelEmprestimo))
            {
                MidiaComboBox.Items.Add(midia);
            }
        }
コード例 #2
0
        public void Metodo_Create_Retorna_View_Quando_Model_Is_Invalid()
        {
            // Arrange
            var controller = new EmprestimoController();

            controller.ModelState.AddModelError("", "Erro de validação.");

            // Act
            var actionResult = controller.Create(new EmprestimoViewModel());

            // Assert
            actionResult.Should().BeOfType <ViewResult>();
        }
コード例 #3
0
        public FmrDevolucao(int idEmprestimo)
        {
            InitializeComponent();

            emprestimoController = new EmprestimoController();
            emprestimo           = emprestimoController.ConsultaPorId(idEmprestimo);

            IdTxt.Text         = emprestimo.IdEmprestimo.ToString();
            PessoaTxt.Text     = emprestimo.NomePessoa;
            MidiaTxt.Text      = emprestimo.NomeMidia;
            QuantidadeTxt.Text = emprestimo.QtdEmprestada.ToString();
            DataSaidaTxt.Text  = emprestimo.DataSaida.ToString();
            OperadorTxt.Text   = emprestimo.NomeOperadorEmprestimo;
            ObsEmprestimo.Text = emprestimo.Observacao;

            QuantidadeDevolvidaNumeric.Value   = emprestimo.QtdEmprestada;
            QuantidadeDevolvidaNumeric.Maximum = emprestimo.QtdEmprestada;
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: LuizGustavoSena/Biblioteca
        static void LerDevolucao(List <Emprestimo> listaEmprestimo)
        {
            // VARIAVEIS
            string       numeroTombo;
            Emprestimo   emprestimo;
            const double multa = 0.10;
            int          diaAtraso;
            double       valorAtraso;

            // LOCALIZAÇÃO
            Console.WriteLine("\n>>>CADASTRO DEVOLUÇÃO<<<\n");

            do
            { // LAÇO TRATA NUMERO TOMBO VAZIO
                Console.Write("Número do Tombo do Livro: ");
                numeroTombo = Console.ReadLine();
            } while (numeroTombo == "");


            // RETORNA OBJETO EMPRESTIMO COM STATUS EMPRESTADO O LIVRO INFORMADO PELO NUMERO TOMBO
            emprestimo = EmprestimoController.NumeroTomboEmprestado(listaEmprestimo, long.Parse(numeroTombo));


            // CASO NÃO ENCONTRAR LIVRO OU O LIVRO ESTA COMO "DEVOLVIDO"
            if (emprestimo == null)
            {
                Console.WriteLine("Livro não encontrado para devolução.\nPrecione qualquer tecla para voltar ao Menu Principal...");
                Console.ReadLine();
                Console.Clear();
                return;
            }

            // CALCULA DIAS DE ATRASO
            diaAtraso = (int)DateTime.Now.Subtract(emprestimo.DataDevolucao).TotalDays;

            if (diaAtraso <= 0)
            {
                Console.WriteLine("Entregue no Prazo.");
            }
            else
            {
                valorAtraso = diaAtraso * multa; // CALCULA MULTA 0,10 POR DIA
                Console.WriteLine("Multa de R$ " + valorAtraso);
            }

            Console.WriteLine("Precione qualquer tecla para continuar...");
            Console.ReadLine();

            // ATUALIZA SITUAÇÃO DO EMRPESTIMO
            emprestimo.StatusEmprestimo = 2;
            emprestimo.DataDevolucao    = DateTime.Now;

            // ATUALIZA A LISTA
            ArquivoController.Escrita(listaEmprestimo);

            // LIMPA TELA
            Console.Clear();

            Console.WriteLine("\n>>>DEVOLUÇÃO CADASTRADA<<<\nPrecione qualquer tecla para continuar...");
            Console.ReadLine();

            Console.Clear();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: LuizGustavoSena/Biblioteca
        static void LerEmprestimo(List <Cliente> listaCliente, List <Livro> listaLivro, List <Emprestimo> listaEmprestimo)
        {
            // VARIAIVES
            string      cpf, numeroTombo, op;
            long        idCliente;
            bool        err;
            DateTime    dataDevolucao = DateTime.Now;
            Emprestimo  emprestimo;
            CultureInfo CultureBr = new CultureInfo(name: "pt-BR");

            // LOCALIZAÇÃO
            Console.WriteLine("\n>>>CADASTRO EMPRESTIMO<<<\n");

            do
            { // LAÇO TRATA NÚMERO TOMBO DE LIVRO
                err = false;
                Console.Write("Informe o Número Tombo do Livro: ");
                numeroTombo = Console.ReadLine();

                // SE EXISTIR LIVRO NA LISTA DE EMPRESTADO E ESTAR COM STATUS EMPRESTADO RETORNA O OBJETO
                emprestimo = EmprestimoController.NumeroTomboEmprestado(listaEmprestimo, long.Parse(numeroTombo));

                // CASO NÃO EXISTIR NÚMERO TOMBO DE LIVRO OU ELE ESTAR EMPRESTADO
                if (!LivroController.NumeroTomboExiste(listaLivro, long.Parse(numeroTombo)) || emprestimo != null)
                {
                    // CAMINHOS PARA USUARIO ESCOLHER
                    Console.WriteLine("Livro indisponível para empréstimo.\n1 - Digitar Número Tombo novamente" +
                                      "\n2 - Cadastrar Livro\n3 - Voltar ao Menu Principal ");
                    op = Console.ReadLine();

                    switch (op)                                             // SWITCH DE OPÇÕES PARA SABER QUAL CAMINHO USUARIO ESCOLHEU
                    {
                    case "2":                                               // CADASTRO CLIENTE
                        Console.Clear();                                    // LIMPA TELA
                        LerLivro(listaLivro);
                        err = true;                                         // INFORMAR O CPF NOVAMENTE POREM COM CPF JÁ CADASTRADO
                        Console.WriteLine("\n>>>CADASTRO EMPRESTIMO<<<\n"); // LOCALIZAÇÃO
                        break;

                    case "3":            // VOLTAR MENU PRINCIPAL
                        Console.Clear(); // LIMPA TELA
                        return;

                    default:     // DIGITAR CPF NOVAMENTE OU OUTRO NÚMERO/LETRA NÃO INFORMADO NO MENU
                        err = true;
                        break;
                    }
                }
            } while (err);

            do
            {
                err = false;

                // INFORMA CPF
                Console.Write("Informe o CPF do Cliente: ");
                cpf = Console.ReadLine();

                // RETORNA ID DE CLIENTE QUE TEM ESSE CPF
                idCliente = ClienteController.RetornaCLienteCpf(listaCliente, cpf);

                // CASO CPF NÃO EXISTA
                if (idCliente == -1)
                {
                    // CAMINHOS CASO CPF NÃO RECONHECIDO
                    Console.WriteLine("Cliente não cadastrado.\n1 - Digitar CPF novamente" +
                                      "\n2 - Cadastrar Cliente\n3 - Voltar ao Menu Principal ");
                    op = Console.ReadLine();

                    switch (op)                                                               // SWITCH DE OPÇÕES PARA SABER QUAL CAMINHO USUARIO ESCOLHEU
                    {
                    case "2":                                                                 // CADASTRO CLIENTE
                        Console.Clear();                                                      // LIMPA TELA
                        LerCliente(listaCliente);
                        err = true;                                                           // INFORMAR O CPF NOVAMENTE POREM COM CPF JÁ CADASTRADO
                        Console.WriteLine("\n>>>CADASTRO EMPRESTIMO<<<\n");                   // LOCALIZAÇÃO
                        Console.WriteLine("Informe o Número Tombo do Livro: " + numeroTombo); // LOCALIZAÇÃO
                        break;

                    case "3":            // VOLTAR MENU PRINCIPAL
                        Console.Clear(); // LIMPA TELA
                        return;

                    default:     // DIGITAR CPF NOVAMENTE OU OUTRO NÚMERO/LETRA NÃO INFORMADO NO MENU
                        err = true;
                        break;
                    }
                }
            } while (err);

            // ARMAZENA DATA DE DEVOLUÇÃO
            do
            {
                err = false;
                try
                {
                    Console.Write("Data de Devolução (dd/mm/yyyy): ");
                    dataDevolucao = DateTime.ParseExact(Console.ReadLine(), "d", CultureBr);
                    if ((Convert.ToDateTime(dataDevolucao)) < (Convert.ToDateTime(DateTime.Now)))
                    {
                        Console.WriteLine("Informe uma data posterior a data atual");
                        err = true;
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Informe a data (dd/mm/yyyy)");
                    err = true;
                }
            } while (err);


            // ESTANCIA EMPRESTIMO ESTANCIADO
            emprestimo = new Emprestimo()
            {
                IdCliente        = idCliente,
                NumeroTombo      = long.Parse(numeroTombo),
                DataEmprestimo   = DateTime.Now,
                DataDevolucao    = dataDevolucao,
                StatusEmprestimo = 1
            };

            // ADICIONA O EMPRESTIMO NA LISTA EMPRESTIMO
            listaEmprestimo.Add(emprestimo);

            // ADICIONA LISTA NO ARQUIVO
            ArquivoController.Escrita(listaEmprestimo);

            Console.Clear(); // LIMPA TELA

            Console.WriteLine("\n>>>EMPRESTIMO CADASTRADO<<<\nPrecione qualquer tecla para continuar...");
            Console.ReadLine();

            Console.Clear();
        }