Пример #1
0
        public void Handle(WallPostAddedOrEdited message)
        {
            if (!message.Edited)
            {
                return;
            }
            using (IEnumerator <IVirtualizable> enumerator = ((Collection <IVirtualizable>) this.PostsVM.Collection).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    IVirtualizable current      = enumerator.Current;
                    WallPostItem   wallPostItem = current as WallPostItem;
                    if (wallPostItem != null && wallPostItem.WallPost.to_id == message.NewlyAddedWallPost.to_id && wallPostItem.WallPost.id == message.NewlyAddedWallPost.id)
                    {
                        List <WallPost> wallPosts = new List <WallPost>();
                        wallPosts.Add(message.NewlyAddedWallPost);
                        List <User>  users  = message.Users;
                        List <Group> groups = message.Groups;
                        // ISSUE: variable of the null type

                        double itemsWidth = 0.0;
                        this.PostsVM.Insert((IVirtualizable)Enumerable.First <IVirtualizable>(WallPostItemsGenerator.Generate(wallPosts, users, groups, null, itemsWidth)), ((Collection <IVirtualizable>) this.PostsVM.Collection).IndexOf(current));
                        this.PostsVM.Delete(current);
                        break;
                    }
                }
            }
        }
Пример #2
0
 public void Handle(WallPostAddedOrEdited message)
 {
     if (message.NewlyAddedWallPost.to_id == -this._gid && !message.NewlyAddedWallPost.IsPostponed)
     {
         Func <IVirtualizable, bool> _9__1 = null;
         Execute.ExecuteOnUIThread(delegate
         {
             List <WallPost> expr_05 = new List <WallPost>();
             expr_05.Add(message.NewlyAddedWallPost);
             IVirtualizable item = Enumerable.First <IVirtualizable>(WallPostItemsGenerator.Generate(expr_05, message.Users, message.Groups, new Action <WallPostItem>(this.DeletedCallback), 0.0));
             IEnumerable <IVirtualizable> arg_80_0 = this.WallVM.Collection;
             Func <IVirtualizable, bool> arg_80_1;
             if ((arg_80_1 = _9__1) == null)
             {
                 arg_80_1 = (_9__1 = ((IVirtualizable wp) => wp is WallPostItem && ((WallPostItem)wp).WallPost.id == message.NewlyAddedWallPost.id && ((WallPostItem)wp).WallPost.to_id == message.NewlyAddedWallPost.to_id));
             }
             IVirtualizable virtualizable = Enumerable.FirstOrDefault <IVirtualizable>(arg_80_0, arg_80_1);
             if (virtualizable == null)
             {
                 bool flag = Enumerable.Any <IVirtualizable>(this.WallVM.Collection) && (Enumerable.First <IVirtualizable>(this.WallVM.Collection) as WallPostItem).WallPost.is_pinned == 1;
                 this.WallVM.Insert(item, flag ? 1 : 0);
                 return;
             }
             int ind = this.WallVM.Collection.IndexOf(virtualizable);
             this.WallVM.Delete(virtualizable);
             this.WallVM.Insert(item, ind);
         });
     }
 }
        public void Handle(WallPostAddedOrEdited message)
        {
            if (!message.Edited)
            {
                return;
            }
            WallPostItem itemForWallPost = this.GetItemForWallPost(message.NewlyAddedWallPost.id, message.NewlyAddedWallPost.to_id);

            if (itemForWallPost == null)
            {
                return;
            }
            List <WallPost> wallPosts = new List <WallPost>();

            wallPosts.Add(message.NewlyAddedWallPost);
            List <User>           users           = message.Users;
            List <Group>          groups          = message.Groups;
            Action <WallPostItem> deletedCallback = new Action <WallPostItem>(this.DeletedCallback);
            double         itemsWidth             = 0.0;
            IVirtualizable virtualizable          = WallPostItemsGenerator.Generate(wallPosts, users, groups, deletedCallback, itemsWidth).First <IVirtualizable>();
            int            ind = this._wallVM.Collection.IndexOf((IVirtualizable)itemForWallPost);

            this._wallVM.Delete((IVirtualizable)itemForWallPost);
            this._wallVM.Insert(virtualizable, ind);
        }
Пример #4
0
 public void Handle(WallPostAddedOrEdited message)
 {
     if (!message.Edited)
     {
         return;
     }
     foreach (IVirtualizable virtualizable in (Collection <IVirtualizable>) this.PostsVM.Collection)
     {
         WallPostItem wallPostItem = virtualizable as WallPostItem;
         if (wallPostItem != null && wallPostItem.WallPost.to_id == message.NewlyAddedWallPost.to_id && wallPostItem.WallPost.id == message.NewlyAddedWallPost.id)
         {
             List <WallPost> wallPosts = new List <WallPost>();
             wallPosts.Add(message.NewlyAddedWallPost);
             List <User>  users      = message.Users;
             List <Group> groups     = message.Groups;
             object       local      = null;
             double       itemsWidth = 0.0;
             this.PostsVM.Insert(WallPostItemsGenerator.Generate(wallPosts, users, groups, (Action <WallPostItem>)local, itemsWidth).First <IVirtualizable>(), this.PostsVM.Collection.IndexOf(virtualizable));
             this.PostsVM.Delete(virtualizable);
             break;
         }
     }
 }