Esempio n. 1
0
        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();
                }
            }
        }
Esempio n. 2
0
 private void UpdateProductDirection(DateTimeOffset lastUpdate)
 {
     SetProductDirectionLabel();
     AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb,
                                                 LoadProductDirections,
                                                 lastUpdate,
                                                 UpdateInfoAfterLoadProductDirections);
 }
Esempio n. 3
0
 private void UpdateDirectories(DateTimeOffset lastUpdate)
 {
     SetDirectoriesLabel();
     AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb,
                                                 LoadDirectories,
                                                 lastUpdate,
                                                 UpdateInfoAfterLoadDirectories);
 }
Esempio n. 4
0
 private void UpdatePhotos(DateTimeOffset lastUpdate)
 {
     SetPhotosLabel();
     AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb,
                                                 LoadPhotos,
                                                 new PhotoRequestInfo(lastUpdate, ids),
                                                 UpdateInfoAfterLoadPhotos);
 }
Esempio n. 5
0
 private void UpdateCatalogs(DateTimeOffset lastUpdate)
 {
     SetBrandsLabel();
     AsyncOperationService.PerformAsyncOperation(AsyncOperationType.LoadFromWeb,
                                                 LoadCatalogs,
                                                 lastUpdate,
                                                 UpdateInfoAfterLoadCatalogs);
 }
Esempio n. 6
0
 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);
 }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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());
        }
Esempio n. 9
0
        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();
        }