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); } }