private void Initialize(string ApiBaseUri, IAuthentication Authentication, ILogger Logger, AuthentificationManager AuthentificationManager = null)
        {
            this.Accounts         = new AccountsEndpoint(ApiBaseUri, Authentication, Logger);
            this.AccountsMetaData = new AccountsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);

            this.AccountCatalogs         = new AccountCatalogsEndpoint(ApiBaseUri, Authentication, Logger);
            this.AccountCatalogsMetaData = new AccountCatalogsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.AccountInventory         = new AccountInventoryEndpoint(ApiBaseUri, Authentication, Logger);
            this.AccountInventoryMetaData = new AccountInventoryMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.AccountUsers         = new AccountUsersEndpoint(ApiBaseUri, Authentication, Logger);
            this.AccountUsersMetaData = new AccountUsersMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.Activities         = new ActivitiesEndpoint(ApiBaseUri, Authentication, Logger);
            this.ActivitiesMetaData = new ActivitiesMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.Catalogs         = new CatalogsEndpoint(ApiBaseUri, Authentication, Logger);
            this.CatalogsMetaData = new CatalogsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.Contacts         = new ContactsEndpoint(ApiBaseUri, Authentication, Logger);
            this.ContactsMetaData = new ContactsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.Inventory         = new InventoryEndpoint(ApiBaseUri, Authentication, Logger);
            this.InventoryMetaData = new InventoryMetaData_Endpoint(ApiBaseUri, Authentication, Logger);

            this.ItemDimensions1          = new ItemDimensions1Endpoint(ApiBaseUri, Authentication, Logger);
            this.ItemDimensions1_MetaData = new ItemDimensions1_MetaData_Endpoint(ApiBaseUri, Authentication, Logger);

            this.ItemDimensions2          = new ItemDimensions2Endpoint(ApiBaseUri, Authentication, Logger);
            this.ItemDimensions2_MetaData = new ItemDimensions2_MetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.Items         = new ItemsEndpoint(ApiBaseUri, Authentication, Logger);
            this.ItemsMetaData = new ItemsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);

            this.PriceLists         = new PriceListsEndpoint(ApiBaseUri, Authentication, Logger);
            this.PriceListsMetaData = new PriceListsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.ItemPrices         = new ItemPricesEndpoint(ApiBaseUri, Authentication, Logger);
            this.ItemPricesMetaData = new ItemPricesMetaData_Endpoint(ApiBaseUri, Authentication, Logger);

            this.SpecialPriceLists         = new SpecialPriceListsEndpoint(ApiBaseUri, Authentication, Logger);
            this.SpecialPriceListsMetaData = new SpecialPriceListsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);

            this.Transactions         = new TransactionsEndpoint(ApiBaseUri, Authentication, Logger);
            this.TransactionsMetaData = new TransactionsMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.TransactionLines         = new TransactionLinesEndpoint(ApiBaseUri, Authentication, Logger);
            this.TransactionLinesMetaData = new TransactionLinesMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.Users         = new UsersEndpoint(ApiBaseUri, Authentication, Logger);
            this.UsersMetaData = new UsersMetaData_Endpoint(ApiBaseUri, Authentication, Logger);


            this.UserDefinedTables         = new UserDefinedTablesEndpoint(ApiBaseUri, Authentication, Logger);
            this.UserDefinedTablesMetaData = new UserDefinedTableMetaData_Endpoint(ApiBaseUri, Authentication, Logger);

            this.UserDefinedCollectionsMetaData = new UserDefinedCollectionsMetaData_Endpoint(AuthentificationManager?.IdpAuth, Logger);
            this.UserDefinedCollections         = new UserDefinedCollectionsEndpoint(AuthentificationManager, Logger);
        }
 public ApiClient(string ApiBaseUri, IAuthentication Authentication, ILogger Logger, AuthentificationManager AuthentificationManager = null)
 {
     Initialize(ApiBaseUri, Authentication, Logger, AuthentificationManager);
 }