public WindowAction(ChangeFolder value) { InitializeComponent(); label1.Text = Texts.rm.GetString("FOLDERPLACEHOLDER", Texts.cultereinfo); if (value != null) { window = value; if (value.folder != null) { comboBox1.SelectedItem = value.folder; } } loadFolders(); }
private void /*List<ImageInformation>*/ GetImagesUponMyCriteria(string path, ISO iso, Date date, ExposureTime et, ExposureProgram ep, Orientation or, bool isDSC, string camName, bool isManualWhiteBalance, bool isFlash, bool isGeo, bool isEdit, CancellationToken token) { Debug.Assert(String.IsNullOrWhiteSpace(path) == false, "Передана пустая строка в GetAllImages()"); // List<ImageInformation> result = new List<ImageInformation>(); string[] dirs = null; string[] files = null; try { /* string[]*/ dirs = System.IO.Directory.GetDirectories(path); /* string[]*/ files = System.IO.Directory.GetFiles(path, "*.*").Where((s) => s.ToLower().EndsWith(".jpg") || s.ToLower().EndsWith(".jpeg")).ToArray(); } catch (IOException ioe) { Console.WriteLine(ioe.Message); Trace.WriteLine(ioe.Message); //выясним, не извлекли ли съемный диск DriveInfo drive = new DriveInfo(System.IO.Path.GetPathRoot(path)); if (!drive.IsReady) { Console.WriteLine("Диск " + drive.Name + " был извлечен, или содержит ошибки, мешаюшие поиску"); Trace.WriteLine("Диск " + drive.Name + " был извлечен, или содержит ошибки, мешаюшие поиску"); return /*result*/; } if (dirs == null || files == null) { Trace.WriteLine("Массивы со списком файлов или папок - null"); return /*result*/; } } ChangeFolder?.Invoke(new SearchChangeFolderEventArgs(path, files.Length)); foreach (var f in files) { if (token.IsCancellationRequested) { return;// result; } try { var dirsPhoto = MetadataExtractor.ImageMetadataReader.ReadMetadata(Path.GetFullPath(f)); if (isMatch(f, dirsPhoto, iso, date, et, ep, or, isDSC, camName, isManualWhiteBalance, isFlash, isGeo, isEdit)) { ImageInformation ciexif = new ImageInformation(f, dirsPhoto); // result.Add(ciexif); NewFile?.Invoke(new SearchNewFileEventArgs(ciexif)); } } catch (ImageProcessingException ipe) { Console.WriteLine(ipe.Message); Trace.WriteLine(ipe.Message); } catch (IOException ioe) { Console.WriteLine(ioe.Message); Trace.WriteLine(ioe.Message); //выясним, не извлекли ли съемный диск DriveInfo drive = new DriveInfo(System.IO.Path.GetPathRoot(f)); if (!drive.IsReady) { Console.WriteLine("Диск " + drive.Name + " был извлечен, или содержит ошибки, мешаюшие поиску"); Trace.WriteLine("Диск " + drive.Name + " был извлечен, или содержит ошибки, мешаюшие поиску"); IOFatalError?.Invoke(this, new EventArgs()); return; //result; } } catch (UnauthorizedAccessException uae) { Trace.WriteLine(uae.Message); } } foreach (var d in dirs) { if ((windirSkipFlag == false) && (systemDirectoryScan == false)) { if (d.Contains(Environment.GetFolderPath(Environment.SpecialFolder.Windows))) { Trace.WriteLine("Пропуск системного каталога..."); windirSkipFlag = true; continue; } } if (token.IsCancellationRequested) { return;// result; } try { //result.AddRange(GetImagesUponMyCriteria(d,iso,date,et,ep,or,isDSC, camName, isManualWhiteBalance,isFlash,isGeo,isEdit, token)); GetImagesUponMyCriteria(d, iso, date, et, ep, or, isDSC, camName, isManualWhiteBalance, isFlash, isGeo, isEdit, token); } catch (UnauthorizedAccessException uae) { Trace.WriteLine(uae.Message); } } // return result; }
public void AddChangeToIncrementalDict(Dictionary <string, object> changesDict, string type, string ownerOfChangeUrl, Change change) { Dictionary <string, object> changeDict = new Dictionary <string, object>(); ChangeOutput changeOutput = new ChangeOutput(); changeOutput.change = change; changeOutput.site = ownerOfChangeUrl; changeOutput.changeDict = changeDict; changeOutputs.Add(changeOutput); if (change is ChangeGroup) { ChangeGroup changeGroup = (ChangeGroup)change; changeDict.Add("GroupId", changeGroup.GroupId); //changeGroupList.Add(changeGroup); } else if (change is ChangeUser) { ChangeUser changeUser = (ChangeUser)change; changeDict.Add("Activate", changeUser.Activate); changeDict.Add("UserId", changeUser.UserId); //changeUserList.Add(changeUser); } else if (change is ChangeItem) { ChangeItem changeItem = (ChangeItem)change; changeDict.Add("ItemId", changeItem.ItemId); changeDict.Add("ListId", changeItem.ListId); changeDict.Add("WebId", changeItem.WebId); //changeItemList.Add(changeItem); } else if (change is ChangeFolder) { ChangeFolder changeFolder = (ChangeFolder)change; changeDict.Add("UniqueId", changeFolder.UniqueId); changeDict.Add("WebId", changeFolder.WebId); } else if (change is ChangeList) { ChangeList changeList = (ChangeList)change; changeDict.Add("ListId", changeList.ListId); changeDict.Add("WebId", changeList.WebId); //changeListList.Add(changeList); } else if (change is ChangeFile) { ChangeFile changeFile = (ChangeFile)change; changeDict.Add("UniqueId", changeFile.UniqueId); changeDict.Add("WebId", changeFile.WebId); //changeFileList.Add(changeFile); } else if (change is ChangeWeb) { ChangeWeb changeWeb = (ChangeWeb)change; changeDict.Add("WebId", changeWeb.WebId); //changeWebList.Add(changeWeb); } else if (change is ChangeView) { return; } else { Console.WriteLine("Unhandled change type: {0}", change); } changeDict.Add("OwnerOfChangeType", type); changeDict.Add("OwnerOfChangeUrl", ownerOfChangeUrl); changeDict.Add("Tag", change.Tag); changeDict.Add("ChangeToken", change.ChangeToken); changeDict.Add("ChangeType", change.ChangeType.ToString()); changeDict.Add("Time", change.Time); changeDict.Add("SiteId", change.SiteId); changeDict.Add("Type", change.GetType().Name); changesDict.Add(type + "|;" + ownerOfChangeUrl + "|;" + change.ChangeToken.StringValue, changeDict); }