static async Task Main(string[] args) { try { Output.WriteLine("Parts Inventory Search Connector\n"); // Load configuration from appsettings.json var appConfig = LoadAppSettings(); if (appConfig == null) { Output.WriteLine(Output.Error, "Missing or invalid user secrets"); Output.WriteLine(Output.Error, "Please see README.md for instructions on configuring the application."); return; } // Save tenant ID for setting ACL on items _tenantId = appConfig["tenantId"]; // Initialize the auth provider var authProvider = new ClientCredentialAuthProvider( appConfig["appId"], appConfig["tenantId"], appConfig["appSecret"] ); // Check if the database is empty using (var db = new ApplianceDbContext()) { if (db.Parts.IgnoreQueryFilters().Count() <= 0) { Output.WriteLine(Output.Warning, "Database empty, importing entries from CSV file"); ImportCsvToDatabase(db, "ApplianceParts.csv"); } } _graphHelper = new GraphHelper(authProvider); do { var userChoice = DoMenuPrompt(); switch (userChoice) { case MenuChoice.CreateConnection: await CreateConnectionAsync(); break; case MenuChoice.ChooseExistingConnection: await SelectExistingConnectionAsync(); break; case MenuChoice.DeleteConnection: await DeleteCurrentConnectionAsync(); break; case MenuChoice.RegisterSchema: await RegisterSchemaAsync(); break; case MenuChoice.ViewSchema: await GetSchemaAsync(); break; case MenuChoice.PushUpdatedItems: await UpdateItemsFromDatabase(true); break; case MenuChoice.PushAllItems: await UpdateItemsFromDatabase(false); break; case MenuChoice.Exit: // Exit the program Output.WriteLine("Goodbye..."); return; case MenuChoice.Invalid: default: Output.WriteLine(Output.Warning, "Invalid choice! Please try again."); break; } Output.WriteLine(""); } while (true); } catch (Exception ex) { Output.WriteLine(Output.Error, "An unexpected exception occurred."); Output.WriteLine(Output.Error, ex.Message); Output.WriteLine(Output.Error, ex.StackTrace); } }
static async Task Main(string[] args) { try { Output.WriteLine("Groups Search Connector\n"); // Load configuration from appsettings.json _appConfig = LoadAppSettings(); if (_appConfig == null) { Output.WriteLine(Output.Error, "Missing or invalid user secrets"); Output.WriteLine(Output.Error, "Please see README.md for instructions on configuring the application."); return; } // Initialize the auth provider var authProvider = new ClientCredentialAuthProvider( _appConfig["appId"], _appConfig["tenantId"], _appConfig["appSecret"] ); _graphHelper = new GraphHelper(authProvider); do { var userChoice = DoMenuPrompt(); switch (userChoice) { case MenuChoice.CreateConnection: await CreateConnectionAsync(); break; case MenuChoice.ChooseExistingConnection: await SelectExistingConnectionAsync(); break; case MenuChoice.DeleteConnection: await DeleteCurrentConnectionAsync(); break; case MenuChoice.RegisterSchema: await RegisterSchemaAsync(); break; case MenuChoice.ViewSchema: await GetSchemaAsync(); break; case MenuChoice.PushUpdatedItems: await UpdateItems(true); break; case MenuChoice.PushAllItems: await UpdateItems(false); break; case MenuChoice.Exit: // Exit the program Output.WriteLine("Goodbye..."); return; case MenuChoice.Invalid: default: Output.WriteLine(Output.Warning, "Invalid choice! Please try again."); break; } Output.WriteLine(""); } while (true); } catch (Exception ex) { Output.WriteLine(Output.Error, "An unexpected exception occurred."); Output.WriteLine(Output.Error, ex.Message); Output.WriteLine(Output.Error, ex.StackTrace); } }
static void Main(string[] args) { try { Output.WriteLine("Parts Inventory Search Connector\n"); // Load configuration from appsettings.json var appConfig = LoadAppSettings(); if (appConfig == null) { Output.WriteLine(Output.Error, "Missing or invalid appsettings.json!"); Output.WriteLine(Output.Error, "Please see README.md for instructions on creating appsettings.json."); return; } // Save tenant ID for setting ACL on items _tenantId = appConfig["tenantId"]; // Initialize the auth provider var authProvider = new ClientCredentialAuthProvider( appConfig["appId"], appConfig["tenantId"], appConfig["appSecret"] ); _graphHelper = new GraphHelper(authProvider); do { var userChoice = DoMenuPrompt(); switch (userChoice) { case MenuChoice.CreateConnection: CreateConnectionAsync().Wait(); break; case MenuChoice.ChooseExistingConnection: SelectExistingConnectionAsync().Wait(); break; case MenuChoice.DeleteConnection: DeleteCurrentConnectionAsync().Wait(); break; case MenuChoice.RegisterSchema: RegisterSchemaAsync().Wait(); break; case MenuChoice.ViewSchema: GetSchemaAsync().Wait(); break; case MenuChoice.PushItems: UploadItemsFromCsvAsync("ApplianceParts.csv").Wait(); break; case MenuChoice.Exit: // Exit the program Output.WriteLine("Goodbye..."); return; case MenuChoice.Invalid: default: Output.WriteLine(Output.Warning, "Invalid choice! Please try again."); break; } Output.WriteLine(""); } while (true); } catch (Exception ex) { Output.WriteLine(Output.Error, "An unexpected exception occurred."); Output.WriteLine(Output.Error, ex.Message); Output.WriteLine(Output.Error, ex.StackTrace); } }
static async Task Main(string[] args) { try { Output.WriteLine("Parts Inventory Search Connector\n"); var tenant_id = "***"; var app_id = "***"; var appSecret = "****"; // Save tenant ID for setting ACL on items _tenantId = tenant_id; var authProvider = new ClientCredentialAuthProvider( app_id, tenant_id, appSecret ); _graphHelper = new GraphHelper(authProvider); do { var userChoice = DoMenuPrompt(); switch (userChoice) { case MenuChoice.CreateConnection: await CreateConnectionAsync(); break; case MenuChoice.ChooseExistingConnection: await SelectExistingConnectionAsync(); break; case MenuChoice.DeleteConnection: await DeleteCurrentConnectionAsync(); break; case MenuChoice.RegisterSchema: await RegisterSchemaAsync(); break; case MenuChoice.ViewSchema: await GetSchemaAsync(); break; case MenuChoice.PushUpdatedItems: await UpdateItemsFromDatabase(true); break; case MenuChoice.PushAllItems: await UpdateItemsFromDatabase(false); break; case MenuChoice.Exit: // Exit the program Output.WriteLine("Goodbye..."); return; case MenuChoice.Invalid: default: Output.WriteLine(Output.Warning, "Invalid choice! Please try again."); break; } Output.WriteLine(""); } while (true); } catch (Exception ex) { Output.WriteLine(Output.Error, "An unexpected exception occurred."); Output.WriteLine(Output.Error, ex.Message); Output.WriteLine(Output.Error, ex.StackTrace); } }