Пример #1
0
 public static void AddIndexedFolder(IndexedFolder indexedFolder)
 {
     using (var db = Db)
     {
         db.Execute("Insert into IndexedFolder values (@Path, @Date)", new { indexedFolder.Path, DateTime.Now });
     }
 }
Пример #2
0
        public async Task <IndexedFolder> ProcessFolder(string p_strPath)
        {
            string[] strFiles;
            IIndexer objAuxIndexer;

            try
            {
                strAutoCompleteSource      = new List <string>();
                objIndexedFolder           = new IndexedFolder();
                objIndexedFolder.Tiemstamp = DateTime.Now;
                objIndexedFolder.Path      = p_strPath;
                objIndexedFolder.Files     = new List <IndexedFile>();
                objIndexedFolder.Itens     = new List <IndexedItem>();

                strFiles = Directory.GetFiles(p_strPath);

                foreach (string file in strFiles)
                {
                    objAuxIndexer = objIndexers.Find((indexer) => indexer.Extensions.Contains(Path.GetExtension(file)));
                    if (objAuxIndexer != null)
                    {
                        objIndexedFolder.Files.Add(await objAuxIndexer.ProcessFileAsync(file));
                        objIndexedFolder.Itens.AddRange(objIndexedFolder.Files.Last().Items);
                    }
                }

                strAutoCompleteSource = (from IndexedItem item in objIndexedFolder.Itens
                                         select item.Flat).ToList();

                return(objIndexedFolder);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }