public static Tabstrip GetInboxTabs(string currentFormId, int inboxId) { return(new Tabstrip { CurrentTab = currentFormId, Tabs = new List <Tab> { InboxOverview.Button(inboxId, "Overview").AsTab(), LinkedFolders.Button(inboxId, "Linked folders").AsTab(), Users.Button(inboxId, "Users").AsTab() } }); }
public void GetFolderStructure(Profile input) { //numberOfCalls++; LinkedFolders.Clear(); StorableFolders.Clear(); UnlinkedFolders.Clear(); DuplicateFolders.Clear(); List <string> dGFolders = new List <string>(); List <DirectoryInfo> gFolders = new List <DirectoryInfo>(); gFolders.AddRange(input.GameFolder.GetDirectories()); List <DirectoryInfo> sFolders = new List <DirectoryInfo>(); sFolders.AddRange(input.StorageFolder.GetDirectories()); List <DirectoryInfo> _gFolders = new List <DirectoryInfo>(); List <DirectoryInfo> _uFolders = new List <DirectoryInfo>(); List <DirectoryInfo> _lFolders = new List <DirectoryInfo>(); foreach (DirectoryInfo g in gFolders) { try { bool isJunction = JunctionPoint.Exists(@g.FullName); if (isJunction) { this.LinkedFolders.Add(new DirectoryInfo(JunctionPoint.GetTarget(@g.FullName))); } else { this.StorableFolders.Add(new DirectoryInfo(g.FullName)); _gFolders.Add(g); dGFolders.Add(g.Name); } } catch (IOException ex) { MessageBox.Show(ex.Message); } } List <string> dSFolders = new List <string>(); List <DirectoryInfo> tmpList1 = sFolders.Where(n => LinkedFolders.Select(m => m.FullName).Contains(n.FullName) && !JunctionPoint.Exists(@n.FullName)).ToList(); this.LinkedFolders.Clear(); foreach (DirectoryInfo d in tmpList1) { this.LinkedFolders.Add(d); _lFolders.Add(d); dSFolders.Add(d.Name); } List <DirectoryInfo> tmpList = sFolders.Where(n => !LinkedFolders.Select(m => m.FullName).Contains(n.FullName) && !JunctionPoint.Exists(@n.FullName)).ToList(); foreach (DirectoryInfo d in tmpList) { this.UnlinkedFolders.Add(d); _uFolders.Add(d); dSFolders.Add(d.Name); } DuplicateFolders = dGFolders.Intersect(dSFolders).ToList(); _gFolders.RemoveAll(n => DuplicateFolders.Contains(n.Name)); _uFolders.RemoveAll(n => DuplicateFolders.Contains(n.Name)); _lFolders.RemoveAll(n => DuplicateFolders.Contains(n.Name)); this.StorableFolders = _gFolders; this.UnlinkedFolders = _uFolders; this.LinkedFolders = _lFolders; }