protected async override void OnActivate()
 {
     base.OnActivate();
     if (Questions == null)
     {
         IsInitialLoading = true;
         Questions = new OrderedObservableCollection<Services.Model.Question>((x, y) => y.CreatedAt.CompareTo(x.CreatedAt));
         await LoadRequestedData();
     }
 }
Beispiel #2
0
 public LoginatorViewModel(IApplicationConfiguration applicationConfiguration, IConfigurationDao configurationDao)
 {
     ApplicationConfiguration = applicationConfiguration;
     ConfigurationDao = configurationDao;
     IsActive = true;
     NumberOfLogsPerLevel = Constants.DEFAULT_MAX_NUMBER_OF_LOGS_PER_LEVEL;
     Logger = LogManager.GetCurrentClassLogger();
     Logs = new OrderedObservableCollection();
     LogsToInsert = new List<LogViewModel>();
     Namespaces = new ObservableCollection<NamespaceViewModel>();
     Applications = new ObservableCollection<ApplicationViewModel>();
 }
 public LoginatorViewModel(IApplicationConfiguration applicationConfiguration, IConfigurationDao configurationDao)
 {
     ApplicationConfiguration = applicationConfiguration;
     ConfigurationDao         = configurationDao;
     ConfigurationDao.OnConfigurationChanged += ConfigurationDao_OnConfigurationChanged;
     IsActive = true;
     SelectedInitialLogLevel = LoggingLevel.TRACE;
     NumberOfLogsPerLevel    = Constants.DEFAULT_MAX_NUMBER_OF_LOGS_PER_LEVEL;
     Logger       = LogManager.GetCurrentClassLogger();
     Logs         = new OrderedObservableCollection();
     LogsToInsert = new List <LogViewModel>();
     Namespaces   = new ObservableCollection <NamespaceViewModel>();
     Applications = new ObservableCollection <ApplicationViewModel>();
 }
        public ApplicationViewModel(string name, OrderedObservableCollection logs, ObservableCollection <NamespaceViewModel> namespaces,
                                    LoggingLevel initialLogLevel)
        {
            Name     = name;
            IsActive = true;

            //SelectedMinLogLevel = LogLevels.ElementAt(0);
            SelectedMinLogLevel = initialLogLevel;
            Logs       = logs;
            LogsTrace  = new List <LogViewModel>();
            LogsDebug  = new List <LogViewModel>();
            LogsInfo   = new List <LogViewModel>();
            LogsWarn   = new List <LogViewModel>();
            LogsError  = new List <LogViewModel>();
            LogsFatal  = new List <LogViewModel>();
            Namespaces = namespaces;
            MaxNumberOfLogsPerLevel = Constants.DEFAULT_MAX_NUMBER_OF_LOGS_PER_LEVEL;
        }
        public ViewQuestionViewModel(
            INavigationService navigationService,
            AppSettings appSettings,
            QuestionRestService questionRestService,
            ToastService toastService,
            AnswerRestService answerRestService)
        {
            this.navigationService = navigationService;
            this.appSettings = appSettings;
            this.questionRestService = questionRestService;
            this.toastService = toastService;
            this.answerRestService = answerRestService;


            Question = new Services.Model.Question()
            {
                Author = new Author()
            };

            Answers = new OrderedObservableCollection<Answer>((x, y) => y.CreatedAt.CompareTo(x.CreatedAt));
            Votes = new Dictionary<string, VoteDirection>();
        }
 public ApplicationViewModel(string name, OrderedObservableCollection logs, ObservableCollection<NamespaceViewModel> namespaces)
 {
     Name = name;
     IsActive = true;
     LogLevels = new List<LoggingLevel>();
     LogLevels.Add(LoggingLevel.TRACE);
     LogLevels.Add(LoggingLevel.DEBUG);
     LogLevels.Add(LoggingLevel.INFO);
     LogLevels.Add(LoggingLevel.WARN);
     LogLevels.Add(LoggingLevel.ERROR);
     LogLevels.Add(LoggingLevel.FATAL);
     SelectedMinLogLevel = LogLevels.ElementAt(0);
     Logs = logs;
     LogsTrace = new List<LogViewModel>();
     LogsDebug = new List<LogViewModel>();
     LogsInfo = new List<LogViewModel>();
     LogsWarn = new List<LogViewModel>();
     LogsError = new List<LogViewModel>();
     LogsFatal = new List<LogViewModel>();
     Namespaces = namespaces;
     MaxNumberOfLogsPerLevel = Constants.DEFAULT_MAX_NUMBER_OF_LOGS_PER_LEVEL;
 }
Beispiel #7
0
        /// <summary>
        /// Resets the user list visually and internally. Must be called on UI thread.
        /// </summary>
        private void ResetUserList <T>(User[] fullList, User[] filteredList
                                       , OrderedObservableCollection <T> userItems, Func <User, T> create
                                       , Func <T, bool> resetCondition,
                                       ContextMenu conMenu) where T : UserListItem
        {
            lock (resestLocker)
            {
                //Add all users that should exist
                foreach (var u in fullList)
                {
                    if (userItems.All(x => x.User != u))
                    {
                        userItems.Add(create.Invoke(u));
                    }
                }

                // remove any users that aren't on the fullList
                foreach (var u in userItems.ToArray())
                {
                    if (!fullList.Contains(u.User))
                    {
                        userItems.Remove(u);
                        u.ContextMenu = null;
                        u.Dispose();
                    }
                }

                // Remove any null users
                foreach (var u in userItems.Where(x => x == null || x.User == null).ToArray())
                {
                    userItems.Remove(u);
                    if (u != null)
                    {
                        u.ContextMenu = null;
                        u.Dispose();
                    }
                }

                // Remove and re add subbed users
                foreach (var u in userItems.Where(resetCondition).ToArray())
                {
                    var u2 = create.Invoke(u.User);
                    //var u2 = new ChatUserListItem(Room, u.User);

                    userItems.Remove(u);
                    u.ContextMenu = null;
                    u.Dispose();
                    userItems.Add(u2);
                }

                // Show all users that should be shown
                for (var i = 0; i < userItems.Count; i++)
                {
                    if (!filteredList.Contains(userItems[i].User))
                    {
                        //UserListItems[i].Visibility = Visibility.Collapsed;
                        userItems[i].Hide();
                    }
                    else
                    {
                        //UserListItems[i].Visibility = Visibility.Visible;
                        userItems[i].Show();
                    }
                }

                foreach (var u in userItems)
                {
                    if (u.ContextMenu == null)
                    {
                        u.ContextMenu = conMenu;
                    }
                }

                OnPropertyChanged("IsAdmin");
                OnPropertyChanged("IsModerator");
                OnPropertyChanged("BanMenuVisible");
            }
        }
Beispiel #8
0
        /// <summary>
        /// Resets the user list visually and internally. Must be called on UI thread.
        /// </summary>
        private void ResetUserList(User[] fullList, User[] filteredList)
        {
            lock (resestLocker)
            {
                //Add all users that should exist
                foreach (var u in fullList)
                {
                    if (this.UserListItems.All(x => x.User != u))
                        UserListItems.Add(new ChatUserListItem(this.Room, u));
                }

                // remove any users that aren't on the fullList
                foreach (var u in UserListItems.ToArray())
                {
                    if (!fullList.Contains(u.User))
                    {
                        UserListItems.Remove(u);
                        u.Dispose();
                    }
                }

                // Remove and re add subbed users
                var tlist = new OrderedObservableCollection<ChatUserListItem>();
                foreach(var i in UserListItems)
                    tlist.Add(i);
                foreach (var u in UserListItems.Where(x => x.User.IsSubbed).ToArray())
                {
                    var u2 = new ChatUserListItem(Room, u.User);
                    tlist.Remove(u);
                    tlist.Add(u2);

                    if (tlist.IndexOf(u2) == UserListItems.IndexOf(u))
                        continue;

                    UserListItems.Remove(u);
                    u.Dispose();
                    UserListItems.Add(u2);
                }
                foreach(var u in tlist)
                    u.Dispose();
                tlist.Clear();

                // Show all users that should be shown
                for (var i = 0; i < UserListItems.Count; i++)
                {
                    if (!filteredList.Contains(UserListItems[i].User))
                    {
                        //UserListItems[i].Visibility = Visibility.Collapsed;
                        UserListItems[i].Hide();
                    }
                    else
                    {
                        //UserListItems[i].Visibility = Visibility.Visible;
                        UserListItems[i].Show();
                    }
                }

                this.needsRefresh = false;
            }
        }
Beispiel #9
0
        /// <summary>
        /// Resets the user list visually and internally. Must be called on UI thread.
        /// </summary>
        private void ResetUserList(User[] fullList, User[] filteredList)
        {
            lock (resestLocker)
            {
                //Add all users that should exist
                foreach (var u in fullList)
                {
                    if (this.UserListItems.All(x => x.User != u))
                    {
                        UserListItems.Add(new ChatUserListItem(this.Room, u));
                    }
                }

                // remove any users that aren't on the fullList
                foreach (var u in UserListItems.ToArray())
                {
                    if (!fullList.Contains(u.User))
                    {
                        UserListItems.Remove(u);
                        u.Dispose();
                    }
                }

                // Remove and re add subbed users
                var tlist = new OrderedObservableCollection <ChatUserListItem>();
                foreach (var i in UserListItems)
                {
                    tlist.Add(i);
                }
                foreach (var u in UserListItems.Where(x => x.User.IsSubbed).ToArray())
                {
                    var u2 = new ChatUserListItem(Room, u.User);
                    tlist.Remove(u);
                    tlist.Add(u2);

                    if (tlist.IndexOf(u2) == UserListItems.IndexOf(u))
                    {
                        continue;
                    }

                    UserListItems.Remove(u);
                    u.Dispose();
                    UserListItems.Add(u2);
                }
                foreach (var u in tlist)
                {
                    u.Dispose();
                }
                tlist.Clear();

                // Show all users that should be shown
                for (var i = 0; i < UserListItems.Count; i++)
                {
                    if (!filteredList.Contains(UserListItems[i].User))
                    {
                        //UserListItems[i].Visibility = Visibility.Collapsed;
                        UserListItems[i].Hide();
                    }
                    else
                    {
                        //UserListItems[i].Visibility = Visibility.Visible;
                        UserListItems[i].Show();
                    }
                }

                foreach (var u in UserListItems)
                {
                    if (u.ContextMenu == null)
                    {
                        u.ContextMenu = UserContextMenu;
                    }
                }

                OnPropertyChanged("IsAdmin");
                OnPropertyChanged("IsModerator");
                OnPropertyChanged("BanMenuVisible");
            }
        }