コード例 #1
0
        public MainViewModel(IDataService dataService)
        {
            InitializeCommands();

            MainWindowTitle = "EventLook" + (ProcessHelper.IsElevated ? " (Administrator)" : "");
            DataService     = dataService;
            Events          = new ObservableCollection <EventItem>();

            logSourceMgr      = new LogSourceMgr();
            SelectedLogSource = LogSources.FirstOrDefault();

            rangeMgr      = new RangeMgr();
            SelectedRange = Ranges.FirstOrDefault(r => r.DaysFromNow == 3);

            sourceFilter = new Model.SourceFilter();
            levelFilter  = new LevelFilter();
            MsgFilter    = new MessageFilter();
            IdFilter     = new IdFilter();

            filters = new List <FilterBase> {
                sourceFilter, levelFilter, MsgFilter, IdFilter
            };

            progress  = new Progress <ProgressInfo>(ProgressCallback); // Needs to instantiate in UI thread
            stopwatch = new Stopwatch();

            Messenger.Default.Register <ViewCollectionViewSourceMessageToken>(this, Handle_ViewCollectionViewSourceMessageToken);
            Messenger.Default.Register <FileToBeProcessedMessageToken>(this, Handle_FileToBeProcessedMessageToken);
            Messenger.Default.Register <DetailWindowMessageToken>(this, Handle_DetailWindowMessageToken);
        }
コード例 #2
0
        /// <summary>
        /// Show picker popup
        /// </summary>
        public void Open()
        {
            OldStartValue = StartDate;
            OldEndValue   = EndDate;

            var selectedRange = Ranges?.FirstOrDefault(r =>
                                                       r.Value.Start.Date == StartDate?.Date &&
                                                       r.Value.End.Date == EndDate?.Date);

            if (selectedRange != null)
            {
                ChosenLabel = selectedRange.Value.Key;
            }
            else
            {
                ChosenLabel = CustomRangeLabel;
                ShowCalendars();
            }

            Visible = true;

            JSRuntime.InvokeAsync <object>("clickAndPositionHandler.addClickOutsideEvent", Id, ParentId, DotNetObjectReference.Create(this));
            JSRuntime.InvokeAsync <object>("clickAndPositionHandler.getPickerPosition", Id, ParentId,
                                           Enum.GetName(typeof(DropsType), Drops).ToLower(), Enum.GetName(typeof(SideType), Opens).ToLower());

            OnOpened.InvokeAsync(null);

            StateHasChanged();
        }
コード例 #3
0
        /// <summary>
        /// Show picker popup
        /// </summary>
        public async Task Open()
        {
            Render = true;

            await Task.Yield();

            if (Visible)
            {
                return;
            }

            StartTime = TStartDate.HasValue
                ? TStartDate.Value.TimeOfDay
                : InitialStartTime ?? TimeSpan.Zero;

            EndTime = TEndDate.HasValue
                ? TEndDate.Value.TimeOfDay
                : InitialEndTime ?? TimeSpan.FromDays(1).Add(TimeSpan.FromTicks(-1));

            var selectedRange = Ranges?.FirstOrDefault(r =>
                                                       r.Value.Start.Date == TStartDate?.Date &&
                                                       r.Value.End.Date == TEndDate?.Date);

            if (selectedRange?.Value != null)
            {
                ChosenLabel = selectedRange.Value.Key;
                if (AlwaysShowCalendars != true)
                {
                    CalendarsVisible = false;
                }
            }
            else if (CalendarsVisible || AlwaysShowCalendars == true)
            {
                ChosenLabel      = CustomRangeLabel;
                CalendarsVisible = true;
            }

            await JSRuntime.InvokeAsync <object>("clickAndPositionHandler.addClickOutsideEvent", ContainerId, Id, DotNetObjectReference.Create(this));

            await JSRuntime.InvokeAsync <object>("clickAndPositionHandler.getPickerPosition", ContainerId, Id,
                                                 Enum.GetName(typeof(DropsType), Drops).ToLower(), Enum.GetName(typeof(SideType), Opens).ToLower());

            Visible = true;
            await OnOpened.InvokeAsync(null);

            if (AutoAdjustCalendars == true || Prerender != true)
            {
                await AdjustCalendars();
            }
        }
コード例 #4
0
        /// <summary>
        /// Show picker popup
        /// </summary>
        public async Task Open()
        {
            if (Visible)
            {
                return;
            }

            var selectedRange = Ranges?.FirstOrDefault(r =>
                                                       r.Value.Start.Date == TStartDate?.Date &&
                                                       r.Value.End.Date == TEndDate?.Date);

            if (selectedRange?.Value != null)
            {
                ChosenLabel = selectedRange.Value.Key;
                if (AlwaysShowCalendars != true)
                {
                    CalendarsVisible = false;
                }
            }
            else if (CalendarsVisible || AlwaysShowCalendars == true)
            {
                ChosenLabel      = CustomRangeLabel;
                CalendarsVisible = true;
            }

            await JSRuntime.InvokeAsync <object>("clickAndPositionHandler.addClickOutsideEvent", Id, ParentId, DotNetObjectReference.Create(this));

            await JSRuntime.InvokeAsync <object>("clickAndPositionHandler.getPickerPosition", Id, ParentId,
                                                 Enum.GetName(typeof(DropsType), Drops).ToLower(), Enum.GetName(typeof(SideType), Opens).ToLower());

            Visible = true;
            await OnOpened.InvokeAsync(null);

            if (AutoAdjustCalendars == true)
            {
                await AdjustCalendars();
            }
        }
コード例 #5
0
        public MainViewModel(IDataService dataService)
        {
            InitializeCommands();
            DataService = dataService;
            Events      = new ObservableCollection <EventItem>();

            logSourceMgr      = new LogSourceMgr();
            SelectedLogSource = LogSources.FirstOrDefault();

            rangeMgr      = new RangeMgr();
            SelectedRange = Ranges.FirstOrDefault(r => r.DaysFromNow == 3);

            sourceFilter = new Model.SourceFilter();
            MsgFilter    = new MessageFilter();
            filters      = new List <FilterBase> {
                sourceFilter, MsgFilter
            };

            progress  = new Progress <ProgressInfo>(ProgressCallback); // Needs to instantiate in UI thread
            stopwatch = new Stopwatch();

            Messenger.Default.Register <ViewCollectionViewSourceMessageToken>(this, Handle_ViewCollectionViewSourceMessageToken);
        }
コード例 #6
0
 /// <summary>
 /// Get SentimentRange item for a given rating value
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public static SentimentRange GetSentimentRangeForValue(float value)
 {
     return(Ranges.FirstOrDefault(p => value >= p.LowerNumber && value <= p.HigherNumber));
 }