private void OnRealAction()
        {
            string tagToUpdate = string.Empty;
            var    newTags     = from info in Tags where info.ID == -1 select info;

            DBHelper.InsertTags(newTags.ToList());
            foreach (DBTagInfo tagInfo in Tags)
            {
                tagToUpdate += tagInfo.ID + DataAccess.DB_MARK_SPLIT;
            }
            string            folderPath = string.Empty;
            List <DBFileInfo> files      = new List <DBFileInfo>();

            if (objToAddTags is DBFileInfo)
            {
                files.Add(objToAddTags as DBFileInfo);
            }
            else
            {
                IFolder iFolder = objToAddTags as IFolder;
                folderPath = iFolder.FullPath;
            }
            UpdateTagsJob job = UpdateTagsJob.Create(folderPath, files);

            job.TagsToUpdate = tagToUpdate;
            JobManager.Instance.AddJob(job);
            JobManager.Instance.ForceStart(job);
            this.Close();
        }
 protected override bool JobRunning_Init()
 {
     updateTagsJob = this.Job as UpdateTagsJob;
     if (null == updateTagsJob)
     {
         return(false);
     }
     if (!string.IsNullOrEmpty(updateTagsJob.FolderPath))
     {
         filesToUpdate = DBHelper.GetFilesUnderFolder(updateTagsJob.FolderPath);
     }
     foreach (DBFileInfo monitoredFile in updateTagsJob.Files)
     {
         if (null == monitoredFile)
         {
             continue;
         }
         filesToUpdate.Add(monitoredFile);
     }
     return(true);
 }