示例#1
0
        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);
 }
示例#4
0
 /// <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);
 }