Esempio n. 1
0
        public static async Task CopyFromPoweroffice(
            // Trigger every six minutes.
            [TimerTrigger("30 */6 * * * *")] TimerInfo timer,
            ILogger logger)
        {
            try
            {
                var configService = await PowerofficeConfigService.Create(TypedEnvironment.DatabaseCredentials);

                var powerofficeClientFactory = new PowerofficeClientFactory(TypedEnvironment.PowerofficeApiSettings);
                var powerofficeQueueFactory  = new PowerofficeQueueFactory(logger, TypedEnvironment.AzureWebJobsStorage);
                var powerofficeChangeTracker = await PowerofficeChangeTracker.Create(logger, powerofficeClientFactory, powerofficeQueueFactory);

                var configurations = configService.LoadEnabledPowerofficeConfigurations();
                foreach (var configuration in configurations)
                {
                    var dateTimeBeforeSync = DateTime.UtcNow;
                    await powerofficeChangeTracker.EnqueueUpsertedItemsForOneSystem(configuration.LastSuccessfulCopyFromErpHeartbeat, configuration);

                    await configService.UpdateLastSuccessfulCopyFromErpHeartbeat(configuration.WebcrmSystemId, dateTimeBeforeSync);
                }
            }
            catch (SwaggerException ex)
            {
                SwaggerExceptionLogger.Log(ex);
            }
        }
Esempio n. 2
0
 public PowerofficeChangeTrackerTester(ITestOutputHelper output) : base(output)
 {
     // It's safe to use .Result in the tests.
     ChangeTracker = Task.Run(() => PowerofficeChangeTracker.Create(
                                  OutputLogger,
                                  TestPowerofficeClientFactory,
                                  TestPowerofficeQueueFactory)).Result;
 }
Esempio n. 3
0
 public PowerofficeChangeTrackerTester(ITestOutputHelper output) : base(output)
 {
     // It's safe to use .Result in the tests.
     ChangeTracker = Task.Run(() => PowerofficeChangeTracker.Create(
                                  OutputLogger,
                                  TestTypedEnvironment.AzureWebJobsStorage,
                                  TestPowerofficeClientFactory)).Result;
 }