コード例 #1
0
        public ChooseGeoLivePeriodViewModel(IStateService stateService)
        {
            _stateService = stateService;

            var selectedTimerSpan = _stateService.SelectedTimerSpan;

            _stateService.SelectedTimerSpan = null;

            var timerSpans = _stateService.TimerSpans;

            _stateService.TimerSpans = null;

            TimerSpan defaultSpan = null;

            Items = new LoopingObservableCollection <TimerSpan>();
            if (timerSpans != null)
            {
                foreach (var timerSpan in timerSpans)
                {
                    Items.Add(timerSpan);
                }
            }
            defaultSpan = Items[0];

            if (selectedTimerSpan != null)
            {
                Items.SelectedItem = Items.FirstOrDefault(x => x.Seconds == selectedTimerSpan.Seconds);
            }
            if (Items.SelectedItem == null)
            {
                Items.SelectedItem = defaultSpan;
            }
        }
コード例 #2
0
        public ChooseVideoQualityViewModel(IStateService stateService)
        {
            _stateService = stateService;

            var selectedTimerSpan = _stateService.SelectedTimerSpan;

            _stateService.SelectedTimerSpan = null;

            var timerSpans = _stateService.TimerSpans;

            _stateService.TimerSpans = null;

            TimerSpan defaultSpan = null;

            Items = new LoopingObservableCollection <TimerSpan>();
            if (timerSpans != null)
            {
                foreach (var timerSpan in timerSpans)
                {
                    Items.Add(timerSpan);
                }
            }
            else
            {
                Items.Add(new TimerSpan(string.Empty, AppResources.Auto, 0));
                Items.Add(new TimerSpan(string.Empty, "240", 240));
                Items.Add(new TimerSpan(string.Empty, "360", 360));
                Items.Add(new TimerSpan(string.Empty, "480", 480));
                Items.Add(new TimerSpan(string.Empty, "720", 720));
                Items.Add(new TimerSpan(string.Empty, "1080", 1080));
            }
            defaultSpan = Items[0];

            if (selectedTimerSpan != null)
            {
                Items.SelectedItem = Items.FirstOrDefault(x => x.Seconds == selectedTimerSpan.Seconds);
            }
            if (Items.SelectedItem == null)
            {
                Items.SelectedItem = defaultSpan;
            }
        }
コード例 #3
0
        public ChooseTTLViewModel(ICacheService cacheService, ICommonErrorHandler errorHandler, IStateService stateService, INavigationService navigationService, IMTProtoService mtProtoService, ITelegramEventAggregator eventAggregator) :
            base(cacheService, errorHandler, stateService, navigationService, mtProtoService, eventAggregator)
        {
            Items = new LoopingObservableCollection <TimerSpan>
            {
                new TimerSpan(AppResources.OffMasculine, string.Empty, 0),
                new TimerSpan(AppResources.SecondNominativeSingular, "1", 1),
                new TimerSpan(AppResources.SecondNominativePlural, "2", 2),
                new TimerSpan(AppResources.SecondNominativePlural, "3", 3),
                new TimerSpan(AppResources.SecondNominativePlural, "4", 4),
                new TimerSpan(AppResources.SecondGenitivePlural, "5", 5),
                new TimerSpan(AppResources.SecondGenitivePlural, "6", 6),
                new TimerSpan(AppResources.SecondGenitivePlural, "7", 7),
                new TimerSpan(AppResources.SecondGenitivePlural, "8", 8),
                new TimerSpan(AppResources.SecondGenitivePlural, "9", 9),
                new TimerSpan(AppResources.SecondGenitivePlural, "10", 10),
                new TimerSpan(AppResources.SecondGenitivePlural, "11", 11),
                new TimerSpan(AppResources.SecondGenitivePlural, "12", 12),
                new TimerSpan(AppResources.SecondGenitivePlural, "13", 13),
                new TimerSpan(AppResources.SecondGenitivePlural, "14", 14),
                new TimerSpan(AppResources.SecondGenitivePlural, "15", 15),
                new TimerSpan(AppResources.SecondGenitivePlural, "30", 30),
                new TimerSpan(AppResources.MinuteNominativeSingular, "1", 60),
                new TimerSpan(AppResources.HourNominativeSingular, "1", (int)TimeSpan.FromHours(1.0).TotalSeconds),
                new TimerSpan(AppResources.DayNominativeSingular, "1", (int)TimeSpan.FromDays(1.0).TotalSeconds),
                new TimerSpan(AppResources.WeekNominativeSingular, "1", (int)TimeSpan.FromDays(7.0).TotalSeconds),
            };

            if (StateService.SelectedTimerSpan == null)
            {
                Items.SelectedItem = Items[0];
            }
            else
            {
                var selectedItem = Items.FirstOrDefault(x => x.Seconds == StateService.SelectedTimerSpan.Seconds);
                Items.SelectedItem = selectedItem ?? Items[0];
            }
            StateService.SelectedTimerSpan = null;
        }
コード例 #4
0
        public ChooseNotificationSpanViewModel(ICacheService cacheService, ICommonErrorHandler errorHandler, IStateService stateService, INavigationService navigationService, IMTProtoService mtProtoService, ITelegramEventAggregator eventAggregator) :
            base(cacheService, errorHandler, stateService, navigationService, mtProtoService, eventAggregator)
        {
            Items = new LoopingObservableCollection <TimerSpan>
            {
                new TimerSpan(AppResources.Enabled, string.Empty, 0),
                new TimerSpan(AppResources.HourNominativeSingular, "1", (int)TimeSpan.FromHours(1.0).TotalSeconds),
                new TimerSpan(AppResources.HourGenitivePlural, "8", (int)TimeSpan.FromHours(8.0).TotalSeconds),
                new TimerSpan(AppResources.DayNominativePlural, "2", (int)TimeSpan.FromDays(2.0).TotalSeconds),
                new TimerSpan(AppResources.Disabled, string.Empty, int.MaxValue),
            };

            if (StateService.SelectedTimerSpan == null)
            {
                Items.SelectedItem = Items[0];
            }
            else
            {
                var selectedItem = Items.FirstOrDefault(x => x.Seconds == StateService.SelectedTimerSpan.Seconds);
                Items.SelectedItem = selectedItem ?? Items[0];
            }
            StateService.SelectedTimerSpan = null;
        }
コード例 #5
0
        public ChooseTTLViewModel(INavigationService navigationService, IStateService stateService)
        {
            _navigationService = navigationService;
            _stateService      = stateService;

            var isEncryptedTimer = _stateService.IsEncryptedTimer;

            _stateService.IsEncryptedTimer = false;

            var selectedTimerSpan = _stateService.SelectedTimerSpan;

            _stateService.SelectedTimerSpan = null;

            Items = new LoopingObservableCollection <TimerSpan>();
            TimerSpan defaultSpan = null;

            if (isEncryptedTimer)
            {
                Items.Add(new TimerSpan(AppResources.OffMasculine, string.Empty, 0));
                for (var i = 1; i <= 15; i++)
                {
                    Items.Add(new TimerSpan(
                                  Language.Declension2(
                                      i,
                                      AppResources.SecondNominativeSingular,
                                      AppResources.SecondNominativePlural,
                                      AppResources.SecondGenitiveSingular,
                                      AppResources.SecondGenitivePlural),
                                  i.ToString(), i));
                }
                Items.Add(new TimerSpan(AppResources.SecondGenitivePlural, "30", 30));
                Items.Add(new TimerSpan(AppResources.MinuteNominativeSingular, "1", 60));
                Items.Add(new TimerSpan(AppResources.HourNominativeSingular, "1", (int)TimeSpan.FromHours(1.0).TotalSeconds));
                Items.Add(new TimerSpan(AppResources.DayNominativeSingular, "1", (int)TimeSpan.FromDays(1.0).TotalSeconds));
                Items.Add(new TimerSpan(AppResources.WeekNominativeSingular, "1", (int)TimeSpan.FromDays(7.0).TotalSeconds));

                defaultSpan = Items[0];
            }
            else
            {
                Items.Add(new TimerSpan(AppResources.OffMasculine, string.Empty, 0));
                for (var i = 1; i <= 30; i++)
                {
                    Items.Add(new TimerSpan(
                                  Language.Declension2(
                                      i,
                                      AppResources.SecondNominativeSingular,
                                      AppResources.SecondNominativePlural,
                                      AppResources.SecondGenitiveSingular,
                                      AppResources.SecondGenitivePlural),
                                  i.ToString(), i));
                }
                Items.Add(new TimerSpan(AppResources.SecondGenitivePlural, "35", 35));
                Items.Add(new TimerSpan(AppResources.SecondGenitivePlural, "40", 40));
                Items.Add(new TimerSpan(AppResources.SecondGenitivePlural, "45", 45));
                Items.Add(new TimerSpan(AppResources.SecondGenitivePlural, "50", 50));
                Items.Add(new TimerSpan(AppResources.SecondGenitivePlural, "55", 55));
                Items.Add(new TimerSpan(AppResources.MinuteNominativeSingular, "1", 60));

                defaultSpan = Items[10];
            }

            if (selectedTimerSpan != null)
            {
                Items.SelectedItem = Items.FirstOrDefault(x => x.Seconds == selectedTimerSpan.Seconds);
            }
            if (Items.SelectedItem == null)
            {
                Items.SelectedItem = defaultSpan;
            }
        }