Esempio n. 1
0
        private void SetUserProfile(UserProfile tup)
        {
            UserAllTweets profileView;

            if (_panelViewDict.ContainsKey("ProfileView"))
            {
                profileView = _panelViewDict["ProfileView"];
            }
            else
            {
                profileView = new UserAllTweets();
                profileView.DataTemplate = profileView.FindResource("SearchUsersListDataTemplate") as DataTemplate;
                _panelViewDict.Add("ProfileView", profileView);
            }

            //SortableObservableCollection<TOBEntityBase> collection = new SortableObservableCollection<TOBEntityBase>(_statusCollection.Where(s => (s as Status).UserProfile.ScreenName == tup.ScreenName).Cast<TOBEntityBase>());
            //profileView.Collection = collection;

            profileView.CollectionFilter = s => (s as Status).UserProfile.ScreenName == tup.ScreenName;
            profileView.Collection = _statusCollection;
            _mainWindow.frmTOBMain.Content = profileView;
            _tweetSender.UserSearch(tup);
            _userProfileView.SetUserDetails(tup);
            _userProfileView.Visibility = Visibility.Visible;
            _currentTweetsView = profileView;
        }
Esempio n. 2
0
        public void SearchUserByUserName(string username)
        {
            //Anand: Temp hack, need to fix asap.
            TwitterUser tup = null;
            List<TwitterSearchStatus> tupStatus = null;
            foreach (TOBBaseObject tobObj in AccountManager.Instance.TobObjects)
            {
                tup = tobObj.SearchUser(username);
                if (tup == null)
                {
                    continue;
                }
                tupStatus = tobObj.GetStatuses(username);
            }

            if (tup == null)
                return;

            _userProfileView.SetUserDetails(tup);
            _userProfileView.Visibility = Visibility.Visible;
            UserAllTweets savedsearchView;
            savedsearchView = new UserAllTweets();
            savedsearchView.DataTemplate = savedsearchView.FindResource("SavedSearchDataTemplate") as DataTemplate;
            SortableObservableCollection<TwitterSearchStatus> searchCollections;
            searchCollections = new SortableObservableCollection<TwitterSearchStatus>(tupStatus);
            savedsearchView.SearchCollection = searchCollections;
            _currentTweetsView = savedsearchView;
            _mainWindow.frmTOBMain.Content = savedsearchView;
        }
Esempio n. 3
0
        private void SetMessageObjectPanelCollection(UserAllTweets moPanel, TOBEntityEnum tweetEnum, List<int> accList)
        {
            Collection<TOBEntityBase> collection = null;

            switch (tweetEnum)
            {
                case TOBEntityEnum.Home:
                    {
                        break;
                    }
                case TOBEntityEnum.ReTweet:
                    {
                        moPanel.CollectionFilter = ReTweetCollectionFilter;
                        break;
                    }
                case TOBEntityEnum.DirectMessages:
                    {
                        if (accList != null)
                        {
                            collection = new Collection<TOBEntityBase>(_directMessagesCollection.Where(s => accList.Contains((int)(s as DirectMessage).AccountId)).ToList());
                        }
                        else
                        {
                            collection = new Collection<TOBEntityBase>(_directMessagesCollection);
                        }

                        moPanel.CollectionTypeFilter = TOBEntityEnum.DirectMessages;

                        break;
                    }
                case TOBEntityEnum.Replies:
                    {
                        moPanel.CollectionFilter = ReplyCollectionFilter;
                        break;
                    }
                case TOBEntityEnum.Favorite:
                    {
                        moPanel.CollectionFilter = FavoriteCollectionFilter;
                        break;
                    }
            }

            if (collection == null)
            {
                if (accList != null)
                {
                    collection = new Collection<TOBEntityBase>(_statusCollection.Where(s => accList.Contains((int)(s as Status).AccountId)).ToList());
                }
                else
                {
                    collection = _statusCollection;
                }

                moPanel.Collection = collection;
            }
        }
Esempio n. 4
0
        public void LoadSavedFilterView(SavedFilter savedFilter)
        {
            TOBEntityEnum panelCollectionType = (TOBEntityEnum)savedFilter.PanelTypeId;
            _accountInfo.SelectPanel();

            string savedfilterPanelKey = "SAVEDFILTERPANEL" + savedFilter.Id;
            UserAllTweets savedFilterView;

            if (_panelViewDict.ContainsKey(savedfilterPanelKey))
            {
                savedFilterView = _panelViewDict[savedfilterPanelKey];
            }
            else
            {
                savedFilterView = new UserAllTweets();
             //   savedFilterView.DataTemplate = savedFilterView.FindResource("TweetsControlsDataTemplate") as DataTemplate;

                SetMessageObjectPanelCollection(savedFilterView, panelCollectionType, savedFilter.AccountFilterMappings.Select(a => (int)a.AccountId).ToList());

                _panelViewDict.Add(savedfilterPanelKey, savedFilterView);
            }

            _currentTweetsView = savedFilterView;
            _mainWindow.frmTOBMain.Content = savedFilterView;
            _userProfileView.Visibility = Visibility.Collapsed;
            _currentTweetsView.SetFilterBoxText(savedFilter.FilterText);
            _tweetSender.txtSearchBox.Text = "";
        }
Esempio n. 5
0
        public void LoadSavedSearchView(SavedSearch ssPanel)
        {
            _accountInfo.SelectPanel();
            string savedsearchPanelKey = "SAVEDSEARCHPANEL" + ssPanel.Id;
            UserAllTweets savedsearchView;

            if (_panelViewDict.ContainsKey(savedsearchPanelKey))
            {
                savedsearchView = _panelViewDict[savedsearchPanelKey];
            }
            else
            {
                savedsearchView = new UserAllTweets();
                //savedsearchView.DataTemplate = savedsearchView.FindResource("SavedSearchDataTemplate") as DataTemplate;

                savedsearchView.CollectionTypeFilter = TOBEntityEnum.None;

                _panelViewDict.Add(savedsearchPanelKey, savedsearchView);
            }

            SortableObservableCollection<TwitterSearchStatus> searchCollections;
            searchCollections = new SortableObservableCollection<TwitterSearchStatus>(GetSearchList(ssPanel.SearchText));

            savedsearchView.SearchCollection = searchCollections;
            _currentTweetsView = savedsearchView;
            _mainWindow.frmTOBMain.Content = savedsearchView;
            _tweetSender.ChangeGlobelSearchType(-1);
            _tweetSender.txtSearchBox.Text = ssPanel.SearchText;
        }
Esempio n. 6
0
        public void LoadPluginPanelView(SavedPluginView savedPluginView)
        {
            _accountInfo.SelectPanel();
            UserAllTweets pluginView = null;
            //PluginName and PluginStream are not unique. This is a bug. Once guids are implemented, only use guids with streamname.
            string plugin = "PLUGIN" + savedPluginView.PluginStream + savedPluginView.PluginId.ToString();
            if (_panelViewDict.ContainsKey(plugin))
            {
                pluginView = _panelViewDict[plugin];
            }
            else
            {
                //Plugin Impementation.
                List<KeyValuePair<TOBPluginInfo, Type>> pluginInfos = PluginManager.Current.GetPluginInfos();
                ITOBPlugin defaultPlugin;
                Type pluginType = pluginInfos.Where(kvpair => kvpair.Key.PluginGUID == savedPluginView.PluginId).FirstOrDefault().Value;

                if (pluginType == null)
                {
                    //NEEDS - Logging to TOBLogger and needs to contain more info on which plugin failed on which stream.
                    MessageBox.Show("The plugin corresponding to this view is either deleted or corrupted. You can also delete this SavePlugin View by pressing the delete button.");
                    return;
                }

                defaultPlugin = PluginManager.Current.GetPluginObject(pluginType);
                pluginView = new UserAllTweets(defaultPlugin);

                if (pluginView != null)
                {
                    PluginTypeEnum pluginStreamType = (PluginTypeEnum)savedPluginView.PluginStreamType;
                    TOBEntityEnum panelEnum = TOBEntityEnum.None;

                    switch (pluginStreamType)
                    {
                        case PluginTypeEnum.PanelType:
                            {
                                panelEnum = (TOBEntityEnum)Enum.Parse(typeof(TOBEntityEnum), savedPluginView.PluginStream, true);
                                break;
                            }
                        case PluginTypeEnum.SavedFilter:
                            {
                                string filterText = savedPluginView.PluginStream;
                                SavedFilter savedFilter = LocalSavedFilterBO.Get(sf => sf.FilterText == filterText);

                                if (savedFilter != null)
                                {
                                    panelEnum = (TOBEntityEnum)savedFilter.PanelTypeId;
                                    pluginView.InternalStringFilter = filterText;
                                }
                                break;
                            }
                        case PluginTypeEnum.SavedSearch:
                            {
                                //IMPLEMENTATION TO BE COMPLETED IN FUTURE
                                //List<Search> searchList = GetSearchList(savedPluginView.PluginStream);
                                //pluginView.SearchCollection = new SortableObservableCollection<Search>(searchList);
                                break;
                            }
                    }

                    if (panelEnum != TOBEntityEnum.None)
                    {
                        SetMessageObjectPanelCollection(pluginView, panelEnum, null);
                    }

                }
                _panelViewDict.Add(plugin, pluginView);
            }
            _currentTweetsView = pluginView;
            _mainWindow.frmTOBMain.Content = pluginView;
        }
Esempio n. 7
0
        public void LoadReTweetView(Panel info)
        {
            if (info == null)
            {
                return;
            }

            _currentPanel = info;
            _accountInfo.UnSelectListBoxes();
            UserAllTweets retweetView;
            if (_panelViewDict.ContainsKey(TOBEntityEnum.ReTweet.ToString()))
            {
                retweetView = _panelViewDict[TOBEntityEnum.ReTweet.ToString()];
                if (info != null)
                {
                    List<int> accList = info.AccountList.Where(a => a.IsSelected == true).Select(a => a.Id).ToList();
                    if (info.AccountList.Count > 1)
                    {
                        retweetView.Collection = new SortableObservableCollection<TOBEntityBase>(_statusCollection.Where(s => accList.Contains((int)(s as Status).AccountId)));
                    }
                }
            }
            else
            {
                retweetView = new UserAllTweets();
                //NEEDS TO BE FIXED TO USE TWITTER BASED RT
                retweetView.CollectionFilter = ReTweetCollectionFilter;
                retweetView.NavBindingPanel = info;
                retweetView.Collection = _statusCollection;
                _panelViewDict.Add(TOBEntityEnum.ReTweet.ToString(), retweetView);
            }
            _currentTweetsView = retweetView;
            _mainWindow.frmTOBMain.Content = retweetView;
            _userProfileView.Visibility = Visibility.Collapsed;
        }
Esempio n. 8
0
        public void LoadMarkasFavoriteView(Panel info)
        {
            if (info == null)
            {
                return;
            }

            _currentPanel = info;

            UserAllTweets markasFavoriteView;
            if (_panelViewDict.ContainsKey(TOBEntityEnum.Favorite.ToString()))
            {
                markasFavoriteView = _panelViewDict[TOBEntityEnum.Favorite.ToString()];
            }
            else
            {
                markasFavoriteView = new UserAllTweets();
             //   markasFavoriteView.DataTemplate = markasFavoriteView.FindResource("TweetsControlsDataTemplate") as DataTemplate;
                markasFavoriteView.NavBindingPanel = info;
                markasFavoriteView.CollectionFilter = FavoriteCollectionFilter;
                markasFavoriteView.Collection = _statusCollection;
                _panelViewDict.Add(TOBEntityEnum.Favorite.ToString(), markasFavoriteView);
            }
            _currentTweetsView = markasFavoriteView;
            _mainWindow.frmTOBMain.Content = markasFavoriteView;
            _userProfileView.Visibility = Visibility.Collapsed;
        }
Esempio n. 9
0
        public void LoadListView(TwitterListExtended twitterListExt)
        {
            _tweetSender.txtSearchBox.Text = "";
            _userProfileView.Visibility = Visibility.Collapsed;
            _accountInfo.SelectPanel();

            SortableObservableCollection<TwitterStatus> listStatusCollections;

            TOBBaseObject Twitter = AccountManager.Instance.GetTOBObject(twitterListExt.UserAccount);
            var twitterLists = Twitter.GetStatusesFromList(twitterListExt.User.ScreenName, (long)twitterListExt.Id);
            if (twitterLists == null)
            {
                return;
            }

            string listPanelKey = "LISTPANEL" + twitterListExt.Id;
            UserAllTweets listView;

            if (_panelViewDict.ContainsKey(listPanelKey))
            {
                listView = _panelViewDict[listPanelKey];
            }
            else
            {
                listView = new UserAllTweets();
                //listView.DataTemplate = listView.FindResource("GroupsStatusesDataTemplate") as DataTemplate;

                listView.CollectionTypeFilter = TOBEntityEnum.None;

                _panelViewDict.Add(listPanelKey, listView);
            }

            listStatusCollections = new SortableObservableCollection<TwitterStatus>(twitterLists.ToList());
            listView.ListStatusCollection = listStatusCollections;
            _currentTweetsView = listView;
            _mainWindow.frmTOBMain.Content = listView;
        }
Esempio n. 10
0
        //public void LoadDefaultView(Panel info)
        //{
        //    SortableObservableCollection<TOBEntityBase> collection;
        //    if (info != null)
        //    {
        //List<int> accList = info.AccountList.Where(a => a.IsSelected == true).Select(a => a.Id).ToList();
        //collection = new SortableObservableCollection<TOBEntityBase>(_statusCollection.Where(s => accList.Contains((int)(s as TOBEntityBase).AccountId)));
        //    }
        //    else
        //    {
        //        collection = new SortableObservableCollection<TOBEntityBase>(_statusCollection);
        //    }
        //    _currentPanel = info;
        //    LoadDefaultView(collection);
        //}
        //private void LoadDefaultView(SortableObservableCollection<TOBEntityBase> collection)
        //{
        //    UserAllTweets allView;
        //    if (_panelViewDict.ContainsKey("Home"))
        //    {
        //        allView = _panelViewDict["Home"];
        //    }
        //    else
        //    {
        //        allView = new UserAllTweets();
        //        //allView.DataTemplate = allView.FindResource("TweetsControlsDataTemplate") as DataTemplate;
        //        _panelViewDict.Add("Home", allView);
        //    }
        //    allView.Collection = collection;
        //    _currentTweetsView = allView;
        //    _mainWindow.frmTOBMain.Content = allView;
        //    _userProfileView.Visibility = Visibility.Collapsed;
        //}
        public void LoadHomeView(Panel info)
        {
            _accountInfo.UnSelectListBoxes();
            UserAllTweets allView;
            _accountInfo.SelectHomePanel();
            if (_panelViewDict.ContainsKey(TOBEntityEnum.Home.ToString()))
            {
                allView = _panelViewDict[TOBEntityEnum.Home.ToString()];
                if (info != null)
                {
                    List<int> accList = info.AccountList.Where(a => a.IsSelected == true).Select(a => a.Id).ToList();
                    if (info.AccountList.Count > 1)
                    {
                        List<TOBEntityBase> homeCollection = new List<TOBEntityBase>();
                        homeCollection.AddRange(_statusCollection.Where(s => accList.Contains(s.AccountsId)));
                        homeCollection.AddRange(_directMessagesCollection.Where(d => accList.Contains(d.AccountsId)));
                        allView.Collection = new Collection<TOBEntityBase>(homeCollection);
                    }
                }
            }
            else
            {
                allView = new UserAllTweets();
                //Moving it higher to protect against a timing issue where _panelViewDict.Values is empty on NewStatus
                _panelViewDict.Add(TOBEntityEnum.Home.ToString(), allView);
               // allView.DataTemplate = allView.FindResource("TweetsControlsDataTemplate") as DataTemplate;
                allView.NavBindingPanel = info;
                //allView.CollectionTypeFilter = TOBEntityEnum.None;
                List<TOBEntityBase> homeColl = new List<TOBEntityBase>();
                homeColl.AddRange(_statusCollection);
                homeColl.AddRange(_directMessagesCollection);

                allView.Collection = new Collection<TOBEntityBase>(homeColl);
            }
            _currentPanel = info;
            _currentTweetsView = allView;
            _mainWindow.frmTOBMain.Content = allView;
            _userProfileView.Visibility = Visibility.Collapsed;
            _tweetSender.txtSearchBox.Text = "";
        }
Esempio n. 11
0
        public void LoadFindPeople(string query)
        {
            try
            {
                List<TwitterUser> users = null;

                foreach (TOBBaseObject tobObj in AccountManager.Instance.TobObjects)
                {
                    users = tobObj.QueryUsers(query);

                    if (users != null)
                    {
                        break;
                    }
                }

                if (users == null)
                {
                    MessageBox.Show("No users found");
                    return;
                }

                string queryUserPanelKey = "QUERYUSERPANEL";
                UserAllTweets queryUserView;

                if (_panelViewDict.ContainsKey(queryUserPanelKey))
                {
                    queryUserView = _panelViewDict[queryUserPanelKey];
                }
                else
                {
                    queryUserView = new UserAllTweets();
                    //queryUserView.DataTemplate = queryUserView.FindResource("QueryUserDataTemplate") as DataTemplate;

                    queryUserView.CollectionTypeFilter = TOBEntityEnum.None;

                    _panelViewDict.Add(queryUserPanelKey, queryUserView);
                }

                SortableObservableCollection<TwitterUser> peopleCollections;

                peopleCollections = new SortableObservableCollection<TwitterUser>(users);
                queryUserView.PeopleCollection = peopleCollections;

                _currentTweetsView = queryUserView;
                _mainWindow.frmTOBMain.Content = queryUserView;
                _tweetSender.ChangeGlobelSearchType(1);
                _tweetSender.txtSearchBox.Text = query;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 12
0
        public void LoadDirectMessageView(Panel info)
        {
            if (info == null)
            {
                return;
            }

            _currentPanel = info;
            _accountInfo.UnSelectListBoxes();
            UserAllTweets directMessageView;
            if (_panelViewDict.ContainsKey(TOBEntityEnum.DirectMessages.ToString()))
            {
                directMessageView = _panelViewDict[TOBEntityEnum.DirectMessages.ToString()];
                List<int> accList = info.AccountList.Where(a => a.IsSelected == true).Select(a => a.Id).ToList();
                if (info.AccountList.Count > 1)
                {
                    directMessageView.Collection = new SortableObservableCollection<TOBEntityBase>(_directMessagesCollection.Where(dm => accList.Contains(dm.AccountsId)).ToList());
                }
            }
            else
            {
                directMessageView = new UserAllTweets();
                directMessageView.DataTemplate = directMessageView.FindResource("DirectMessageDataTemplate") as DataTemplate;
                directMessageView.CollectionTypeFilter = TOBEntityEnum.DirectMessages;
                directMessageView.NavBindingPanel = info;
                directMessageView.Collection = _directMessagesCollection;
                _panelViewDict.Add(TOBEntityEnum.DirectMessages.ToString(), directMessageView);
            }
            _currentTweetsView = directMessageView;
            _mainWindow.frmTOBMain.Content = directMessageView;
            _userProfileView.Visibility = Visibility.Collapsed;
        }