public virtual Task <IEnumerable <StorageProviderItem> > GetChildrenByParentItem(StorageProviderItem parent) { return(BaseProvider.GetChildrenByParentItem(parent)); }
private async Task SetSelectedItem(StorageProviderItem item) { if (m_selectedItem == item || item.Type != StorageProviderItemType.Folder) return; m_selectedItem = item; await UpdateListView(); m_txtUrl.Text = GetResultUri(); }
private async Task<ItemInfo> GetItemInfo(StorageProviderItem item) { if (m_cache.ContainsKey(item)) return m_cache[item]; var info = new ItemInfo(); var result = await m_provider.GetChildrenByParentItem(item); info.Children = result.OrderByDescending(_ => _.Type).ThenBy(_ => _.Name).ToArray(); if (item.ParentReferenceId != null) { var parent = m_cache.Keys.SingleOrDefault(_ => _.Id == item.ParentReferenceId); if (parent != null) info.Parent = parent; else throw new NotImplementedException(); //await m_provider.GetItem(item.ParentReference.Id); } m_cache.Add(item, info); return info; }
private async Task<ItemInfo> GetItemInfo(StorageProviderItem item) { if (m_cache.ContainsKey(item)) return m_cache[item]; var info = new ItemInfo(); if (item.ParentReferenceId != null) { var parent = m_cache.Keys.SingleOrDefault(_ => _.Id == item.ParentReferenceId); if (parent != null) info.Parent = parent; else throw new InvalidOperationException("Parent of node not found!"); //await m_provider.GetItem(item.ParentReference.Id); } IEnumerable<StorageProviderItem> result; try { result = await m_provider.GetChildrenByParentItem(item); } catch (Exception ex) { MessageService.ShowWarning("Error loading file list.\r\nException:", ex); return info; } info.Children = result.OrderByDescending(_ => _.Type).ThenBy(_ => _.Name).ToArray(); m_cache.Add(item, info); return info; }