Esempio n. 1
0
 internal void Add(CollectorServices.BioFileInfo bioFileInfo, Action <bool> ItemSelectionChanged)
 {
     String[] split = System.IO.Path.GetDirectoryName(bioFileInfo.Filename).Split(System.IO.Path.DirectorySeparatorChar);
     if (!String.IsNullOrEmpty(split[0]))
     {
         CheckAndCreateRoute(_items[0], ItemSelectionChanged, split.ToList <String>(), bioFileInfo);
     }
     else
     {
         _items[0].Files.Add(new FileViewModel(bioFileInfo.Filename, ItemSelectionChanged)
         {
             BioFileInfo = bioFileInfo
         });
     }
 }
Esempio n. 2
0
 internal void AddFile(CollectorServices.BioFileInfo bioFileInfo)
 {
     log.InfoFormat("Adding file {0} with number {1}", bioFileInfo.Filename, bioFileInfo.FileNumber);
     TreeModel.Add(bioFileInfo, ItemSelectionChanged);
 }
Esempio n. 3
0
 private void CheckAndCreateRoute(FileViewModel fileViewModel, Action <bool> SelectionChanged, List <String> split, CollectorServices.BioFileInfo bioFileInfo)
 {
     if (split.Count > 0)
     {
         var dirName = split[0];
         if (!fileViewModel.Files.Any(item => item.Name == dirName))
         {
             fileViewModel.Files.Add(new FileViewModel(dirName, SelectionChanged));
         }
         split.RemoveAt(0);
         CheckAndCreateRoute(fileViewModel.Files.First(item => item.Name == dirName), SelectionChanged, split, bioFileInfo);
     }
     else
     {
         var fileName = System.IO.Path.GetFileName(bioFileInfo.Filename);
         if (bioFileInfo.PathType == CollectorServices.BioFileInfo.EntityAtPathType.Regular)
         {
             if (!fileViewModel.Files.Any(item => item.Name == fileName))
             {
                 fileViewModel.Files.Add(new FileViewModel(fileName, SelectionChanged)
                 {
                     BioFileInfo = bioFileInfo
                 });
             }
         }
         else
         {
             var existingNode = fileViewModel.Files.FirstOrDefault((obj) => obj.Name == fileName);
             if (existingNode != null)
             {
                 existingNode.BioFileInfo = bioFileInfo;
             }
             else
             {
                 fileViewModel.Files.Add(new FileViewModel(fileName, SelectionChanged)
                 {
                     BioFileInfo = bioFileInfo
                 });
             }
         }
     }
 }