Esempio n. 1
0
        private void ProcessInputParameters()
        {
            Group group = ParametersRepository.GetParameterForIdAndReset("PickedGroupForRepost") as Group;

            if (group != null)
            {
                foreach (IVirtualizable virtualizable in (Collection <IVirtualizable>) this._viewModel.WallVM.Collection)
                {
                    WallPostItem wallPostItem = virtualizable as WallPostItem;
                    if (wallPostItem != null && wallPostItem.LikesAndCommentsItem != null)
                    {
                        if (wallPostItem.LikesAndCommentsItem.ShareInGroupIfApplicable(group.id, group.name))
                        {
                            break;
                        }
                    }
                }
            }
            List <Stream> streamList = ParametersRepository.GetParameterForIdAndReset("ChoosenPhotos") as List <Stream>;
            Rect          rect       = new Rect();

            if (ParametersRepository.Contains("UserPicSquare"))
            {
                rect = (Rect)ParametersRepository.GetParameterForIdAndReset("UserPicSquare");
            }
            if (streamList == null || streamList.Count <= 0)
            {
                return;
            }
            this._viewModel.UploadProfilePhoto(streamList[0], rect);
        }
Esempio n. 2
0
        private void ProcessWallPostFeedback()
        {
            if (this._wallPostItem == null)
            {
                WallPost parsedFeedback = this._notification.ParsedFeedback as WallPost;
                if (parsedFeedback.likes != null)
                {
                    parsedFeedback.likes.can_like = 1;
                }
                parsedFeedback.date = this._notification.Date;//todo:bug
                double    width  = this.Width;
                Thickness margin = new Thickness();
                int       num1   = 1;
                NewsItemDataWithUsersAndGroupsInfo wallPostWithInfo = new NewsItemDataWithUsersAndGroupsInfo();
                List <Group> groups = this._groups;
                wallPostWithInfo.Groups = groups;
                List <User> users = this._users;
                wallPostWithInfo.Profiles = users;
                WallPost wallPost = parsedFeedback;
                wallPostWithInfo.WallPost = wallPost;

                int num2 = 1;
                int num3 = 1;
                int num4 = this._showEarlierReplies ? 1 : 0;
                int num5 = 0;
                int num6 = 0;

                this._wallPostItem = new WallPostItem(width, margin, num1 != 0, wallPostWithInfo, null, num2 != 0, null, num3 != 0, num4 != 0, num5 != 0, num6 != 0, null, null);
                base.VirtualizableChildren.Add(this._wallPostItem);
            }
            this._fixedHeight = this._wallPostItem.FixedHeight + 16.0;
        }
Esempio n. 3
0
 private void ProcessWallPostFeedback()
 {
     if (this._wallPostItem == null)
     {
         WallPost wallPost = this._notification.ParsedFeedback as WallPost;
         if (wallPost.likes != null)
         {
             wallPost.likes.can_like = 1;
         }
         wallPost.date = this._notification.date;
         double    width  = this.Width;
         Thickness margin = new Thickness();
         int       num1   = 1;
         NewsItemDataWithUsersAndGroupsInfo wallPostWithInfo = new NewsItemDataWithUsersAndGroupsInfo();
         wallPostWithInfo.Groups   = this._groups;
         wallPostWithInfo.Profiles = this._users;
         wallPostWithInfo.WallPost = wallPost;
         object local1 = null;
         int    num2   = 1;
         object local2 = null;
         int    num3   = 1;
         int    num4   = this._showEarlierReplies ? 1 : 0;
         int    num5   = 0;
         int    num6   = 0;
         object local3 = null;
         object local4 = null;
         this._wallPostItem = new WallPostItem(width, margin, num1 != 0, wallPostWithInfo, (Action <WallPostItem>)local1, num2 != 0, (Action <long, User, Group>)local2, num3 != 0, num4 != 0, num5 != 0, num6 != 0, (NewsFeedAdsItem)local3, (Func <List <MenuItem> >)local4);
         this.VirtualizableChildren.Add((IVirtualizable)this._wallPostItem);
     }
     this._fixedHeight = this._wallPostItem.FixedHeight + 16.0;
 }
Esempio n. 4
0
        public string GetKey()
        {
            string       str          = "ads";
            WallPostItem wallPostItem = this.WallPostItem;

            if ((wallPostItem != null ? wallPostItem.WallPost : (WallPost)null) != null)
            {
                str += string.Format("{0}_{1}", (object)this.WallPostItem.WallPost.owner_id, (object)this.WallPostItem.WallPost.id);
            }
            return(str);
        }
Esempio n. 5
0
 private double GenerateWallPost()
 {
     if (this._wallPostItem == null)
     {
         this._wallPostItem = new WallPostItem(this.Width, new Thickness(), true, this._newsItemData, null, true, null, false, false, false, false, null, (Func <List <MenuItem> >)(() => new List <MenuItem>()
         {
             this.GetUnsubscribeMenuItem()
         }));
         this.VirtualizableChildren.Add((IVirtualizable)this._wallPostItem);
     }
     return(this._wallPostItem.FixedHeight);
 }
Esempio n. 6
0
        private void ProcessInputParameters()
        {
            Group parameterForIdAndReset = ParametersRepository.GetParameterForIdAndReset("PickedGroupForRepost") as Group;

            if (parameterForIdAndReset == null)
            {
                return;
            }
            foreach (IVirtualizable virtualizable in (Collection <IVirtualizable>) this.GroupVM.WallVM.Collection)
            {
                WallPostItem wallPostItem = virtualizable as WallPostItem;
                if (wallPostItem != null && wallPostItem.LikesAndCommentsItem != null && wallPostItem.LikesAndCommentsItem.ShareInGroupIfApplicable(parameterForIdAndReset.id, parameterForIdAndReset.name))
                {
                    break;
                }
            }
        }
Esempio n. 7
0
        private void ProcessInputParameters()
        {
            Group parameterForIdAndReset = ParametersRepository.GetParameterForIdAndReset("PickedGroupForRepost") as Group;

            if (parameterForIdAndReset == null)
            {
                return;
            }
            FavoritesViewModel favVm = this.FavVM;
            ObservableCollection <IVirtualizable> observableCollection;

            if (favVm == null)
            {
                observableCollection = null;
            }
            else
            {
                GenericCollectionViewModel <WallData, IVirtualizable> postsVm = favVm.PostsVM;
                observableCollection = postsVm != null ? postsVm.Collection : null;
            }
            if (observableCollection == null)
            {
                return;
            }
            foreach (IVirtualizable virtualizable in (Collection <IVirtualizable>) this.FavVM.PostsVM.Collection)
            {
                WallPostItem wallPostItem = virtualizable as WallPostItem;
                if (wallPostItem == null && virtualizable is NewsFeedAdsItem)
                {
                    wallPostItem = (virtualizable as NewsFeedAdsItem).WallPostItem;
                }
                if ((wallPostItem != null ? wallPostItem.LikesAndCommentsItem : null) != null && wallPostItem.LikesAndCommentsItem.ShareInGroupIfApplicable(parameterForIdAndReset.id, parameterForIdAndReset.name))
                {
                    break;
                }
                VideosNewsItem videosNewsItem = virtualizable as VideosNewsItem;
                if (videosNewsItem != null)
                {
                    videosNewsItem.LikesAndCommentsItem.ShareInGroupIfApplicable(parameterForIdAndReset.id, parameterForIdAndReset.name);
                }
            }
        }
Esempio n. 8
0
        public void Handle(WallPostDeleted message)
        {
            WallPostItem wallPostItem = Enumerable.FirstOrDefault <IVirtualizable>(this.WallVM.Collection, (IVirtualizable w) => w is WallPostItem && (w as WallPostItem).WallPost.to_id == message.WallPost.to_id && (w as WallPostItem).WallPost.id == message.WallPost.id) as WallPostItem;

            if (wallPostItem != null)
            {
                this.DeletedCallback(wallPostItem);
            }
            if (message.WallPost.post_type == "suggest")
            {
                this._group.SuggestedPostsCount--;
                this.ReadActionButtons();
                return;
            }
            if (message.WallPost.IsPostponed)
            {
                Group expr_87             = this._group;
                int   postponedPostsCount = expr_87.PostponedPostsCount;
                expr_87.PostponedPostsCount = postponedPostsCount - 1;
                this.ReadActionButtons();
            }
        }
Esempio n. 9
0
        private void ProcessInputParameters()
        {
            Group parameterForIdAndReset = ParametersRepository.GetParameterForIdAndReset("PickedGroupForRepost") as Group;

            if (parameterForIdAndReset == null)
            {
                return;
            }
            IEnumerator <IVirtualizable> enumerator = ((Collection <IVirtualizable>)NewsViewModel.Instance.NewsFeedVM.Collection).GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    IVirtualizable current      = enumerator.Current;
                    WallPostItem   wallPostItem = current as WallPostItem;
                    if (wallPostItem == null && current is NewsFeedAdsItem)
                    {
                        wallPostItem = (current as NewsFeedAdsItem).WallPostItem;
                    }
                    if ((wallPostItem != null ? wallPostItem.LikesAndCommentsItem : null) != null && wallPostItem.LikesAndCommentsItem.ShareInGroupIfApplicable(parameterForIdAndReset.id, parameterForIdAndReset.name))
                    {
                        break;
                    }
                    VideosNewsItem videosNewsItem = current as VideosNewsItem;
                    if (videosNewsItem != null)
                    {
                        videosNewsItem.LikesAndCommentsItem.ShareInGroupIfApplicable(parameterForIdAndReset.id, parameterForIdAndReset.name);
                    }
                }
            }
            finally
            {
                if (enumerator != null)
                {
                    enumerator.Dispose();
                }
            }
        }
Esempio n. 10
0
 private void DeletedCallback(WallPostItem obj)
 {
     this.WallVM.Delete((IVirtualizable)obj);
 }
Esempio n. 11
0
        public PostCommentsPage()
        {
            PhotoChooserTask photoChooserTask = new PhotoChooserTask();
            int num = 1;

            photoChooserTask.ShowCamera = (num != 0);
            this._photoChooserTask      = photoChooserTask;
            ApplicationBarMenuItem applicationBarMenuItem1 = new ApplicationBarMenuItem();
            string goToOriginal = CommonResources.GoToOriginal;

            applicationBarMenuItem1.Text     = goToOriginal;
            this._appBarMenuItemGoToOriginal = applicationBarMenuItem1;
            ApplicationBarMenuItem applicationBarMenuItem2 = new ApplicationBarMenuItem();
            string pinPost = CommonResources.PinPost;

            applicationBarMenuItem2.Text = pinPost;
            this._appBarMenuItemPin      = applicationBarMenuItem2;
            ApplicationBarMenuItem applicationBarMenuItem3 = new ApplicationBarMenuItem();
            string unpinPost = CommonResources.UnpinPost;

            applicationBarMenuItem3.Text = unpinPost;
            this._appBarMenuItemUnpin    = applicationBarMenuItem3;
            ApplicationBarIconButton applicationBarIconButton1 = new ApplicationBarIconButton();
            Uri uri1 = new Uri("Resources/appbar.send.text.rest.png", UriKind.Relative);

            applicationBarIconButton1.IconUri = uri1;
            string commentsPageAppBarSend = CommonResources.PostCommentsPage_AppBar_Send;

            applicationBarIconButton1.Text = commentsPageAppBarSend;
            this._appBarButtonSend         = applicationBarIconButton1;
            ApplicationBarIconButton applicationBarIconButton2 = new ApplicationBarIconButton();
            Uri uri2 = new Uri("Resources/appbar.heart2.rest.png", UriKind.Relative);

            applicationBarIconButton2.IconUri = uri2;
            string commentsPageAppBarLike = CommonResources.PostCommentsPage_AppBar_Like;

            applicationBarIconButton2.Text = commentsPageAppBarLike;
            this._appBarButtonLike         = applicationBarIconButton2;
            ApplicationBarIconButton applicationBarIconButton3 = new ApplicationBarIconButton();
            Uri uri3 = new Uri("Resources/appbar.heart2.broken.rest.png", UriKind.Relative);

            applicationBarIconButton3.IconUri = uri3;
            string pageAppBarUnlike = CommonResources.PostCommentsPage_AppBar_Unlike;

            applicationBarIconButton3.Text = pageAppBarUnlike;
            this._appBarButtonUnlike       = applicationBarIconButton3;
            ApplicationBarIconButton applicationBarIconButton4 = new ApplicationBarIconButton();
            Uri uri4 = new Uri("Resources/appbar.smile.png", UriKind.Relative);

            applicationBarIconButton4.IconUri = uri4;
            string str = "emoji";

            applicationBarIconButton4.Text = str;
            this._appBarButtonEmojiToggle  = applicationBarIconButton4;
            ApplicationBarMenuItem applicationBarMenuItem4 = new ApplicationBarMenuItem();
            string commentsPageAppBarShare = CommonResources.PostCommentsPage_AppBar_Share;

            applicationBarMenuItem4.Text = commentsPageAppBarShare;
            this._appBarMenuItemShare    = applicationBarMenuItem4;
            ApplicationBarIconButton applicationBarIconButton5 = new ApplicationBarIconButton();
            Uri uri5 = new Uri("Resources/attach.png", UriKind.Relative);

            applicationBarIconButton5.IconUri = uri5;
            string barAddAttachment = CommonResources.NewPost_AppBar_AddAttachment;

            applicationBarIconButton5.Text = barAddAttachment;
            this._appBarButtonAttachments  = applicationBarIconButton5;
            ApplicationBarMenuItem applicationBarMenuItem5 = new ApplicationBarMenuItem();
            string pageAppBarRefresh = CommonResources.PostCommentsPage_AppBar_Refresh;

            applicationBarMenuItem5.Text = pageAppBarRefresh;
            this._appBarMenuItemRefresh  = applicationBarMenuItem5;
            ApplicationBarMenuItem applicationBarMenuItem6 = new ApplicationBarMenuItem();
            string edit = CommonResources.Edit;

            applicationBarMenuItem6.Text = edit;
            this._appBarMenuItemEdit     = applicationBarMenuItem6;
            ApplicationBarMenuItem applicationBarMenuItem7 = new ApplicationBarMenuItem();
            string delete = CommonResources.Delete;

            applicationBarMenuItem7.Text = delete;
            this._appBarMenuItemDelete   = applicationBarMenuItem7;
            ApplicationBarMenuItem applicationBarMenuItem8 = new ApplicationBarMenuItem();
            string report = CommonResources.Report;

            applicationBarMenuItem8.Text = report;
            this._appBarMenuItemReport   = applicationBarMenuItem8;
            this._dc  = new DialogService();
            this._de  = new DelayedExecutor(200);
            this._de2 = new DelayedExecutor(550);
            // ISSUE: explicit constructor call
            //base.\u002Ector();
            this.InitializeComponent();
            this.Header.OnHeaderTap = (Action)(() => this.panel.ScrollToBottom(false));
            this._adapter           = new ViewportScrollableAreaAdapter(this.scroll);
            this.panel.InitializeWithScrollViewer((IScrollableArea)this._adapter, false);
            TextBoxPanelControl panelControl = this.ucNewMessage.PanelControl;
            EventHandler <bool> eventHandler = (EventHandler <bool>)Delegate.Combine((Delegate)panelControl.IsOpenedChanged, (Delegate) new EventHandler <bool>(this.PanelIsOpenedChanged));

            panelControl.IsOpenedChanged = eventHandler;
            this.RegisterForCleanup((IMyVirtualizingPanel)this.panel);
            this.panel.LoadedHeightDownwards = this.panel.LoadedHeightDownwardsNotScrolling = 1600.0;
            this.BuildAppBar();
            ((UIElement)this.ucNewMessage.ReplyUserUC).Tap += (new EventHandler <System.Windows.Input.GestureEventArgs>(this.Button_Click_1));
            this.ucMoreActions.SetBlue();
            this.ucMoreActions.TapCallback = (Action)(() =>
            {
                WallPostItem wallPostItem = this.PostCommentsVM.WallPostItem;
                if (wallPostItem == null)
                {
                    return;
                }
                ContextMenu menu = ContextMenuHelper.CreateMenu(wallPostItem.GenerateMenuItems());
                ContextMenuService.SetContextMenu((DependencyObject)this.ucMoreActions, menu);
                menu.IsOpen = true;
            });
            this.ucNewMessage.OnAddAttachTap             = new Action(this.AddAttachTap);
            this.ucNewMessage.OnSendTap                  = (Action)(() => this._appBarButtonSend_Click(null, null));
            this.ucNewMessage.UCNewPost.OnImageDeleteTap = (Action <object>)(sender =>
            {
                FrameworkElement frameworkElement = sender as FrameworkElement;
                if (frameworkElement != null)
                {
                    this._commentVM.OutboundAttachments.Remove(frameworkElement.DataContext as IOutboundAttachment);
                }
                this.UpdateAppBar();
            });
            this.ucNewMessage.UCNewPost.TextBlockWatermarkText.Text = CommonResources.Comment;
            // ISSUE: method pointer
            this.ucNewMessage.TextBoxNewComment.TextChanged += (new TextChangedEventHandler(this.TextBoxNewComment_TextChanged));
            Binding binding = new Binding("OutboundAttachments");

            ((FrameworkElement)this.ucNewMessage.ucNewPost.ItemsControlAttachments).SetBinding((DependencyProperty)ItemsControl.ItemsSourceProperty, binding);
            this.scroll.BindViewportBoundsTo((FrameworkElement)this.scrollableGrid);
            ((ChooserBase <PhotoResult>) this._photoChooserTask).Completed += (new EventHandler <PhotoResult>(this._photoChooserTask_Completed));
            EventAggregator.Current.Subscribe(this);
        }