Пример #1
0
        private void BtnDevolucao_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                l.DataDevolvida = txtDataDevolucao.SelectedDate.Value; //Verifica se a data de devolução não é <= data de locação

                if (l.DataDevolucao.Date <= l.DataLocacao.Date)
                {
                    throw new Exception("A data de devolução NÃO pode ser MENOR ou IGUAL que a data de Locação!");
                }
                if (l.DataDevolvida > l.DataDevolucao) // Verifica se há atraso na devolução
                {
                    int    diferencaData = l.DataDevolvida.Value.Subtract(l.DataDevolucao).Days;
                    double valorMulta    = LocacaoDAO.CalcularMulta(l);
                    MessageBox.Show("A locação está sendo entregue " + diferencaData + " dia(s) atrasado! \nSerá cobrado R$ " + valorMulta + " de multa.");
                    lbValorMulta.Content = valorMulta;
                }

                Filme f = FilmeDAO.VerificaInatividadeListaFilme(l.Filmes); //Verifica se na lista há filmes inativos

                if (f != null)                                              //Se o método acima retornar um objeto Filme, ele está INATIVO.
                {
                    throw new Exception("O filme " + f.Titulo + " está inativo, não é possivel efetuar a devolução");
                }

                if (!(LocacaoDAO.InativarLocacao(l))) //Status da locação = false
                {
                    throw new Exception("Não foi possivel realizar a devolução. \nEntre em contato com o desenvolvedor");
                }

                //LocacaoDAO.InativarLocacao(l);
                MessageBox.Show("Devolução realizada com sucesso!");
                LimparFormulario();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }