Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }