예제 #1
0
        public async Task <Boolean> MoveItem(IAudioListItemViewModel from, IAudioListItemViewModel to)
        {
            Int32 fromIdx = this.items.IndexOf(from);
            Int32 toIdx   = this.items.IndexOf(to);

            Debug.Assert(fromIdx >= 0 && toIdx >= 0);

            Int32 oldFromIdx = MoveListItem(fromIdx, toIdx);

            Boolean canReorder      = true;
            var     reorderProvider = this.audioService.AudioProvider as IAudioReorderProvider;

            if (reorderProvider != null)
            {
                canReorder = await VKApi.Audio.ReorderAsync(from.Item.Audio.Id, reorderProvider.OwnerId, to.Item.Audio.Id);
            }

            if (!canReorder)
            {
                Int32 newFromIdx = this.items.IndexOf(from);
                MoveListItem(newFromIdx, oldFromIdx);
            }

            return(canReorder);
        }
예제 #2
0
 private async Task AddItem(IAudioListItemViewModel item)
 {
     await this.uiDispatcher.BeginInvoke(new Action(() => this.items.Add(item)), DispatcherPriority.Input);
 }
예제 #3
0
 private async Task AddItem(IAudioListItemViewModel item)
 {
     await this.uiDispatcher.BeginInvoke(new Action(() => this.items.Add(item)), DispatcherPriority.Input);
 }
예제 #4
0
        public async Task<Boolean> MoveItem(IAudioListItemViewModel from, IAudioListItemViewModel to)
        {
            Int32 fromIdx = this.items.IndexOf(from);
            Int32 toIdx = this.items.IndexOf(to);

            Debug.Assert(fromIdx >= 0 && toIdx >= 0);

            Int32 oldFromIdx = MoveListItem(fromIdx, toIdx);

            Boolean canReorder = true;
            var reorderProvider = this.audioService.AudioProvider as IAudioReorderProvider;
            if (reorderProvider != null)
            {
                canReorder = await VKApi.Audio.ReorderAsync(from.Item.Audio.Id, reorderProvider.OwnerId, to.Item.Audio.Id);
            }

            if (!canReorder)
            {
                Int32 newFromIdx = this.items.IndexOf(from);
                MoveListItem(newFromIdx, oldFromIdx);
            }

            return canReorder;
        }