private static async Task Run() { var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("config.json") .Build(); var baseApiUrl = configuration["app-api:base-url"]; var transactionUrl = configuration["app-api:transactions"]; using (var accountConnection = new SqliteConnection(configuration["db:core"])) using (var transactionConnection = new SqliteConnection(configuration["db:fio"])) using (var httpClient = new HttpClient()) { accountConnection.Open(); transactionConnection.Open(); var initializer = new Initializer(transactionConnection, new List <string>() { "transaction" }); if (initializer.HasAllTables() == false) { initializer.DropAndCreate(); } httpClient.BaseAddress = new System.Uri(baseApiUrl); var accountRepository = new AccountRepository(accountConnection); var transactionApiClient = new TransactionApiClient(httpClient, transactionUrl); var transactionRepository = new TransactionRepository(transactionConnection, transactionApiClient); var syncService = new SyncService(accountRepository, transactionRepository); await syncService.Sync(); } }
/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> from an existing /// <see cref="IApiClientTransport"/> instance. /// </summary> /// <param name="transport">The ArangoDB transport layer implementation.</param> public ArangoDBClient(IApiClientTransport transport) { _transport = transport; Cursor = new CursorApiClient(_transport); Database = new DatabaseApiClient(_transport); Document = new DocumentApiClient(_transport); Collection = new CollectionApiClient(_transport); Transaction = new TransactionApiClient(_transport); Graph = new GraphApiClient(_transport); }
/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> from an existing /// <see cref="HttpClient"/> instance. /// </summary> /// <param name="client"></param> public ArangoDBClient(HttpClient client) { _transport = new HttpApiTransport(client); Cursor = new CursorApiClient(_transport); Database = new DatabaseApiClient(_transport); Document = new DocumentApiClient(_transport); Collection = new CollectionApiClient(_transport); Transaction = new TransactionApiClient(_transport); Graph = new GraphApiClient(_transport); }
/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> /// using the provided transport and serialization layers. /// </summary> /// <param name="transport">The ArangoDB transport layer implementation.</param> /// <param name="serialization">The serialization layer implementation.</param> public ArangoDBClient(IApiClientTransport transport, IApiClientSerialization serialization) { _transport = transport; Auth = new AuthApiClient(_transport, serialization); Cursor = new CursorApiClient(_transport, serialization); Database = new DatabaseApiClient(_transport, serialization); Document = new DocumentApiClient(_transport, serialization); Collection = new CollectionApiClient(_transport, serialization); Transaction = new TransactionApiClient(_transport, serialization); Graph = new GraphApiClient(_transport, serialization); }
/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> from an existing /// <see cref="HttpClient"/> instance, using the default JSON serialization. /// </summary> /// <param name="client"></param> public ArangoDBClient(HttpClient client) { _transport = new HttpApiTransport(client, HttpContentType.Json); AqlFunction = new AqlFunctionApiClient(_transport); Auth = new AuthApiClient(_transport); Cursor = new CursorApiClient(_transport); Database = new DatabaseApiClient(_transport); Document = new DocumentApiClient(_transport); Collection = new CollectionApiClient(_transport); Transaction = new TransactionApiClient(_transport); Graph = new GraphApiClient(_transport); }
private void InitializeApis( IApiClientTransport transport, IApiClientSerialization serialization) { AqlFunction = new AqlFunctionApiClient(transport, serialization); Auth = new AuthApiClient(transport, serialization); Cursor = new CursorApiClient(transport, serialization); Database = new DatabaseApiClient(transport, serialization); Document = new DocumentApiClient(transport, serialization); Collection = new CollectionApiClient(transport, serialization); Transaction = new TransactionApiClient(transport, serialization); Graph = new GraphApiClient(transport, serialization); User = new UserApiClient(transport, serialization); }