public void LoadData(LoadingType loadingType) { loadTimer.Stop(); if (!IsLoading) { switch (loadingType) { case LoadingType.ChangedMaxRows: case LoadingType.ChangedDataInCurrentPage: case LoadingType.ChangedSelectedPage: case LoadingType.ChangedSearchCriteria: case LoadingType.ChangedBrandItems: AsyncOperationService .PerformAsyncOperation(AsyncOperationType.LoadCatalog, LoadPricelist, !IsLoading, ActionAfterLoadCatalog); break; case LoadingType.ChangedDirectoryItems: AsyncOperationService .PerformAsyncOperation(AsyncOperationType.LoadBrands, LoadBrands, !IsLoading, ActionAfterLoadBrand); break; case LoadingType.СhangedAdvancedSearch: AsyncOperationService .PerformAsyncOperation(AsyncOperationType.LoadDirectories, LoadDirectories, !IsLoading, ActionAfterLoadDirectory); break; default: throw new ArgumentOutOfRangeException(); } } }
private void UpdateProductDirection(DateTimeOffset lastUpdate) { SetProductDirectionLabel(); AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb, LoadProductDirections, lastUpdate, UpdateInfoAfterLoadProductDirections); }
private void UpdateDirectories(DateTimeOffset lastUpdate) { SetDirectoriesLabel(); AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb, LoadDirectories, lastUpdate, UpdateInfoAfterLoadDirectories); }
private void UpdatePhotos(DateTimeOffset lastUpdate) { SetPhotosLabel(); AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb, LoadPhotos, new PhotoRequestInfo(lastUpdate, ids), UpdateInfoAfterLoadPhotos); }
private void UpdateCatalogs(DateTimeOffset lastUpdate) { SetBrandsLabel(); AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb, LoadCatalogs, lastUpdate, UpdateInfoAfterLoadCatalogs); }
private void RefreshBasketCapture(EventArgs args = null) { //decimal sum = DatabaseService.GetSumBasket(); //BasketCaption = PrecisionService?.Convert(sum) + CurrencySuffix; AsyncOperationService .PerformAsyncOperation(databaseIsVerified ? AsyncOperationType.GetSumBasket : AsyncOperationType.CheckDatabase, GetSumBasket, !DomainContext?.IsLoading ?? false, ActionAfterGetSumBasket); }
public async Task TestRampingDown() { var operationService = new AsyncOperationService(); var targetTemperature = new Value <Unit.Temperature>(3.0, Unit.Temperature.TemperatureInDegC); var rampRate = new Value <Unit.TemperatureRate>(2.5, Unit.TemperatureRate.TemperatureRateInDegCPerMinute); var minBand = new Value <Unit.Temperature>(targetTemperature.Number - 1, Unit.Temperature.TemperatureInDegC); var maxBand = new Value <Unit.Temperature>(targetTemperature.Number + 1, Unit.Temperature.TemperatureInDegC); var band = new ReadOnlyRange <Unit.Temperature>(minBand, maxBand); var time = TimeSpan.FromMinutes(5); await operationService.RampingDownAsync(targetTemperature, rampRate, band, time); var currentTemp = operationService.GetCurrentTemperature().Number; Assert.AreEqual(3.0, currentTemp); }
public void TestCancelRamp() { var operationService = new AsyncOperationService(); var targetTemperature = new Value <Unit.Temperature>(69.56, Unit.Temperature.TemperatureInDegC); var rampRate = new Value <Unit.TemperatureRate>(2.5, Unit.TemperatureRate.TemperatureRateInDegCPerMinute); var minBand = new Value <Unit.Temperature>(targetTemperature.Number - 3, Unit.Temperature.TemperatureInDegC); var maxBand = new Value <Unit.Temperature>(targetTemperature.Number + 3, Unit.Temperature.TemperatureInDegC); var band = new ReadOnlyRange <Unit.Temperature>(minBand, maxBand); var time = TimeSpan.FromMinutes(5); Task.Run(async() => { await operationService.RampingDownAsync(targetTemperature, rampRate, band, time); }); operationService.CancelOperation(); Assert.IsFalse(operationService.GetOperationStatus()); Assert.AreNotEqual(69.56, operationService.GetCurrentTemperature()); }
public DomainContext() { IsLoading = false; IsWaiting = false; waitFormSupported = new[] { AsyncOperationType.LoadCatalog, AsyncOperationType.LoadBrands, AsyncOperationType.LoadDirectories, AsyncOperationType.CheckDatabase, AsyncOperationType.GetSumBasket }; Messenger = new Messenger(); ColorService = new ColorService(); ImageService = new ImageService(); PhotoService = new PhotoService(Messenger, ImageService); PrecisionService = new PrecisionService(2, true); DataService = new DataService(); UserDecisionsService = new UserDecisionsService(); AsyncOperationService = new AsyncOperationService(UserDecisionsService, UIContext.Current); OptionService = new OptionService(); WebService = new WebService(OptionService); TemplateService = new TemplateService(OptionService); ConvertService = new ConvertService(); BrandRepository = new BrandRepository(DataService); BrandRepository.Load(); DirectoryRepository = new DirectoryRepository(DataService); DirectoryRepository.Load(); Init(); SubscribeEvents(); pingTimer = new DispatcherTimer(); pingTimer.Interval = TimeSpan.FromMilliseconds(1000); pingTimer.Tick += PingTimerOnTick; pingTimer.Start(); }