}// default Constructor // Scenario: Request Provider Report private void providerReport() { try { //Get the provider number long number = ui.promptForLong("Provider Number: "); //Search for the provider number in the collection Providers providers = new Providers(); providers.open(); Provider theProvider = providers.find(number); providers.close(); if (theProvider == null) { ui.errorMessage("Invalid Provider Number"); return; } //Get the end date DateTime endDate = ui.promptForDate("End date of week (" + UserInterface.DATE_FORMAT + "): "); //Generate report for specified week ProviderReportGenerator generator = new ProviderReportGenerator(theProvider, endDate); ProviderReport report = generator.getReport(); //Display the report report.display(ui); //"Print" (save the report to a file) if the user wishes String answer = ui.promptForString("Save the report? (Y)es or (N)o: "); if (answer != null && answer.Length >= 1 && Char.ToUpper(answer[0]) == 'Y') { report.print(theProvider.getName()); ui.message("The report has been saved as " + report.getFileName() + "\n"); }//if else { ui.message("Report not saved"); } } catch (FileNotFoundException ex) { //occurs if the file cannot be created ui.errorMessage(ex.Message); } }//providerReport
/** * Creates a new SchedulerInterface which then runs the accounting procedure. */ public SchedulerInterface() { //for communciation with the tester UserInterface ui = new UserInterface(); ui.message("\nRunning the accounting procedure ...\n"); //Use today's date for all reports DateTime now = DateTime.Today; try { //Generate provider reports ui.message("Generating the providers' reports ..."); Providers providers = new Providers(); providers.open(); List <Person> allProviders = providers.getAll(); foreach (Person person in allProviders) { Provider provider = (Provider)person; ProviderReportGenerator gen = new ProviderReportGenerator(provider, now); ProviderReport theReport = gen.getReport(); if (theReport.getDetailCount() > 0) { theReport.sendByEmail(provider.getName()); } } providers.close(); //Generate member reports ui.message("Generating the members' reports ..."); Members members = new Members(); members.open(); List <Person> allMembers = members.getAll(); foreach (Person person in allMembers) { Member member = (Member)person; MemberReportGenerator gen = new MemberReportGenerator(member, now); MemberReport theReport = gen.getReport(); if (theReport.getDetailCount() > 0) { theReport.sendByEmail(member.getName()); } } members.close(); //Generate accounts payable report ui.message("Generating the accounts payable report ..."); AccountsPayableReportGenerator generator = new AccountsPayableReportGenerator(now); generator.getReport().sendByEmail("Accounts Payable"); //Generate EFT data ui.message("Generating the EFT data ..."); EFTReportGenerator eftGenerator = new EFTReportGenerator(now); eftGenerator.getReport().print("EFT Data"); ui.message("\nAccounting procedure completed successfully.\n\n"); } catch (FileNotFoundException ex) { //occurs if a file cannot be created ui.errorMessage(ex.Message); } }//default constructor