public Task Execute(IJobExecutionContext context) { var serviceProvider = context.Scheduler.Context.Get(QuartzScheduler.SERVICE_PROVIDER) as IServiceProvider; var jobData = QuartzScheduler.GetJobDataConfiguration <FintoDataJobDataConfiguration>(context.JobDetail); ExecuteInternal(() => { var settings = FintoJobExtension.GetSettings(jobData.DownloadType); var typeSettings = FintoJobExtension.SetDownloadDefinition(settings, jobData.DownloadType); var downloadFintoTask = new DownloadFintoDataTask(); downloadFintoTask.DownloadData(settings).Wait(); if (typeSettings.MergeTo == null) { return; } var service = serviceProvider.GetService <ISeedingService>(); service?.SeedOntologyTerms(typeSettings.MergeTo, context.JobDetail.Key.Name); }, context); return(Task.CompletedTask); }
public static void ProcessMenuAction(ProgramMenuOption userMenuAction, ILogger logger) { Console.WriteLine($"Calling '{userMenuAction}'..."); switch (userMenuAction) { case ProgramMenuOption.InitialPtvCreate: Stopwatch sw = new Stopwatch(); Stopwatch swTotal = new Stopwatch(); swTotal.Start(); // create and apply migrations System.Console.WriteLine("Creating new database..."); sw.Start(); FrameworksInitializer.DoMigration(Program.ServiceProvider); sw.Stop(); string msg = $"Database created in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); // seed system data System.Console.WriteLine("Seeding system data to database.."); sw.Restart(); FrameworksInitializer.SeedDatabase(Program.ServiceProvider); sw.Stop(); msg = $"System data seeded to database in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); // Seed finto data System.Console.WriteLine("Seeding finto data.."); sw.Restart(); ImportFintoDataTask fintoTask = new ImportFintoDataTask(Program.ServiceProvider); fintoTask.ImportData(); sw.Stop(); System.Console.WriteLine(); msg = $"Finto items imported in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); // Seed digital authorizations System.Console.WriteLine("Seeding digital authorizations.."); sw.Restart(); var importDigitalAuthorizations = new DownloadAndImportDigitalAuthorizationsTask(ServiceProvider); importDigitalAuthorizations.ImportDigitalAuthorizations(); sw.Stop(); System.Console.WriteLine(); msg = $"Digital authorization items imported in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); // Create organizations for municipalities System.Console.WriteLine("Creating organizations for municipalities.."); sw.Restart(); CreateMunicipalityOrganizationsTask munOrgTask = new CreateMunicipalityOrganizationsTask(Program.ServiceProvider); munOrgTask.Create(); sw.Stop(); System.Console.WriteLine(); msg = $"Organizations for municipalities created in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); // import general descriptions System.Console.WriteLine("Importing general descriptions from JSON file.."); sw.Restart(); UpdateCreateGeneralDescriptionsTask generalDescriptionsTask = new UpdateCreateGeneralDescriptionsTask(ServiceProvider); generalDescriptionsTask.ImportDataFromJSON(); CreateServiceDataForGeneralDescriptionsJsonTask createServicesDescTask = new CreateServiceDataForGeneralDescriptionsJsonTask(Program.ServiceProvider); createServicesDescTask.ImportDataFromJSON(); sw.Stop(); System.Console.WriteLine(); msg = $"General descriptions imported in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); // import fake ptv data from json System.Console.WriteLine("Starting fake PTV import.."); sw.Restart(); ImportTask fakeit = new ImportTask(Program.ServiceProvider); fakeit.ImportFakePtv(); sw.Stop(); msg = $"Fake PTV import complete in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); var languagesAndVersionsTask = new UpdateLangaugeAvailabilitiesAndVersions(Program.ServiceProvider); languagesAndVersionsTask.CheckAndUpdateLangaugeAvailabilitiesAndVersions(); //Update text description to Json var updateTextDescriptionTask = new UpdateTextDescriptionToJsonTask(Program.ServiceProvider); updateTextDescriptionTask.CheckAndUpdateTextDescriptionToJson(); swTotal.Stop(); msg = $"Create, seed and import data, total time: {swTotal.Elapsed}"; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); System.Console.WriteLine("See log files in /logs subfolder for details."); break; case ProgramMenuOption.CreateOrMigrateDatabase: // create and apply migrations System.Console.WriteLine("Applying migrations..."); FrameworksInitializer.DoMigration(Program.ServiceProvider); System.Console.WriteLine("Database created."); break; case ProgramMenuOption.SeedSystemData: // seed system data System.Console.WriteLine("Seeding system data to database.."); FrameworksInitializer.SeedDatabase(Program.ServiceProvider); System.Console.WriteLine("System data seeded to database."); break; case ProgramMenuOption.DownloadGeneralDescription: // import general descriptions System.Console.WriteLine("Downloading general descriptions from DB to file.."); sw = new Stopwatch(); sw.Restart(); UpdateCreateGeneralDescriptionsTask downloadDescTask = new UpdateCreateGeneralDescriptionsTask(Program.ServiceProvider); downloadDescTask.DownloadFromDatabase(); sw.Stop(); System.Console.WriteLine(); msg = $"General descriptions downloaded in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); break; case ProgramMenuOption.UpdateGeneralDescription: // import general descriptions System.Console.WriteLine("Importing general descriptions from JSON file.."); sw = new Stopwatch(); sw.Restart(); UpdateCreateGeneralDescriptionsTask updateDescTask = new UpdateCreateGeneralDescriptionsTask(Program.ServiceProvider); updateDescTask.ImportDataFromJSON(); sw.Stop(); System.Console.WriteLine(); msg = $"General descriptions imported in {sw.Elapsed}."; System.Console.WriteLine(msg); logger.LogInformation(msg); System.Console.WriteLine(); break; case ProgramMenuOption.CreateMunicipalityOrganizations: System.Console.WriteLine("Creating Organizations for Municipalities."); CreateMunicipalityOrganizationsTask municipalityOrganizationsTask = new CreateMunicipalityOrganizationsTask(Program.ServiceProvider); municipalityOrganizationsTask.Create(); break; //case ProgramMenuOption.ImportGeneralDescriptions: // System.Console.WriteLine("Generating general descriptions JSON..."); // CreateGeneralDescriptionsJsonTask generalDescriptionTask = new CreateGeneralDescriptionsJsonTask(Program.ServiceProvider); // generalDescriptionTask.Generate(); // System.Console.WriteLine("General descriptions JSON generation complete."); // break; //case ProgramMenuOption.ImportFakePtv: // System.Console.WriteLine("Starting fake PTV import.."); // ImportTask it = new ImportTask(Program.ServiceProvider); // it.ImportFakePtv(); // System.Console.WriteLine("Fake PTV import complete."); // break; case ProgramMenuOption.DumpFakePtv: System.Console.WriteLine("Starting to dump fake PTV to JSON files.."); DumpFakePtvToFilesTask task = new DumpFakePtvToFilesTask(Program.ServiceProvider); task.WriteToFiles(); System.Console.WriteLine("Fake PTV dumped to JSON files."); break; case ProgramMenuOption.ValidateFakePtvJson: System.Console.WriteLine("Starting to validate fake PTV generated JSON files to model.."); try { DumpFakePtvToFilesTask validationTask = new DumpFakePtvToFilesTask(Program.ServiceProvider); validationTask.ValidateJson(); System.Console.WriteLine("Validation success."); } catch (Exception ex) { System.Console.WriteLine(ex.ToString()); System.Console.BackgroundColor = ConsoleColor.Red; System.Console.Write("Error:"); System.Console.ResetColor(); System.Console.WriteLine($" check the SourceXXX model, {ex.Message}"); } break; case ProgramMenuOption.CreatePostalCodesJson: System.Console.WriteLine("Generating postal codes JSON.."); CreatePostalCodesJsonTask pct = new CreatePostalCodesJsonTask(Program.ServiceProvider); pct.Generate(); System.Console.WriteLine("Postal codes JSON generation complete."); break; case ProgramMenuOption.ImportOrganizations: System.Console.WriteLine("Importing organizations JSON.."); CreateOrganizationsJsonTask organizationTask = new CreateOrganizationsJsonTask(Program.ServiceProvider); organizationTask.ImportDataFromJSON(); System.Console.WriteLine("Importing organizations complete."); break; case ProgramMenuOption.UpdateCoordinatesForAddress: System.Console.WriteLine("Updating addresses.."); var addressTask = new UpdateCoordinatesForAddressesTask(Program.ServiceProvider); addressTask.UpdateAddresses(); System.Console.WriteLine("Updating addresses complete."); break; case ProgramMenuOption.ImportOrUpdateFinto: System.Console.WriteLine("Importing finto data.."); var fintoUpdateTask = new ImportFintoDataTask(Program.ServiceProvider); fintoUpdateTask.ImportData(); System.Console.WriteLine("Importing finto data complete."); break; case ProgramMenuOption.DownloadFinto: System.Console.WriteLine("Importing finto data.."); var downloadFintoTask = new DownloadFintoDataTask(); downloadFintoTask.GetAllFintoData(); System.Console.WriteLine("Importing finto data complete."); break; // case ProgramMenuOption.SwitchCoordinates: // System.Console.WriteLine("Switching coordinates.."); // var addressSwitchTask = new UpdateCoordinatesForAddressesTask(Program.ServiceProvider); // addressSwitchTask.SwitchCoordinates(); // System.Console.WriteLine("Switching coordinates complete."); // break; case ProgramMenuOption.UpdateLanguageAvailabilitiesAndVersions: var languagesAndVersions = new UpdateLangaugeAvailabilitiesAndVersions(Program.ServiceProvider); languagesAndVersions.CheckAndUpdateLangaugeAvailabilitiesAndVersions(); break; case ProgramMenuOption.UpdateTextDescription: var updateTextDescription = new UpdateTextDescriptionToJsonTask(Program.ServiceProvider); updateTextDescription.CheckAndUpdateTextDescriptionToJson(); break; case ProgramMenuOption.UpdateServiceDescriptionByGeneralDescription: Console.WriteLine($"Update operation can take few minutes..."); var updateBackgroundGeneralDescription = new UpdateServiceDescriptionByGeneralDescriptionTask(Program.ServiceProvider); updateBackgroundGeneralDescription.CheckAndUpdateServiceDescriptionByGeneralDescription(); Console.WriteLine("Update operation is complete."); break; case ProgramMenuOption.FindCyclicOrganizations: var findCylicOrganizationsTask = new FindCyclicOrganizationsTask(Program.ServiceProvider); findCylicOrganizationsTask.FindCyclicOrganizations(); break; case ProgramMenuOption.DeleteOldData: var deleteOldDataTask = new DeleteOldDataTask(Program.ServiceProvider); deleteOldDataTask.DeleteOldData(); break; case ProgramMenuOption.DownloadAndImportDigitalAuthorizations: var digitalAuthorizationsTask = new DownloadAndImportDigitalAuthorizationsTask(ServiceProvider); digitalAuthorizationsTask.DownloadAndImportDigitalAuthorizations(); break; case ProgramMenuOption.FixFintoMerge: var fixFintoTask = new FixFintoTask(ServiceProvider); fixFintoTask.Apply(); break; case ProgramMenuOption.DownloadPostalCodesFromCodeServiceTask: DownloadPostalCodesFromCodeServiceTask dpcTask = new DownloadPostalCodesFromCodeServiceTask(ServiceProvider); dpcTask.Download(); break; case ProgramMenuOption.FixMultiPublishedEntities: FixMultiplePublishedEntitiesTask fixMultipleTask = new FixMultiplePublishedEntitiesTask(ServiceProvider); fixMultipleTask.Apply(); break; // case ProgramMenuOption.PrintGDwithoutLaw: // PrintGdWithoutLaw printGd = new PrintGdWithoutLaw(ServiceProvider); // printGd.Apply(); // break; case ProgramMenuOption.CopyLawsFromArchivedToPublishedGeneralDescs: CopyLawsOfGeneralDescs copyLaws = new CopyLawsOfGeneralDescs(ServiceProvider); copyLaws.Apply(); break; // case ProgramMenuOption.PrintMissingGDSWELaws: // CopyLawsOfGeneralDescs copyLaws2 = new CopyLawsOfGeneralDescs(ServiceProvider); // copyLaws2.PrintMissingSweLaws(); // break; default: break; } }