public void InitializeActions() { // Create actions dictionary ActionsDict = new Dictionary <string, QuickMediaSorterProjectTriggerAction>(); // Create default actions ActionsDict["Delete"] = new QuickMediaSorterProjectTriggerAction(ActionType.Delete); ActionsDict["Left"] = new QuickMediaSorterProjectTriggerAction(ActionType.Previous); ActionsDict["Right"] = new QuickMediaSorterProjectTriggerAction(ActionType.Next); // Merge the existing actions foreach (QuickMediaSorterProjectTrigger trigger in Trigger) { ActionsDict[trigger.Key] = trigger.Action; } // Set actions folders (also build them if necessary) foreach (var action in ActionsDict.Values.Where(action => !String.IsNullOrEmpty(action.Folder))) { action.FullPathFolder = PathHelper.GetFullPath(this.Folder, action.Folder, true); } if (Extentions == null) { Extentions = "*.jpg"; } }
public static int Execute(QuickMediaSorterProjectTriggerAction action, FileInfo fileInfo) { QuickMediaSorterProjectTriggerAction rolebackAction = new QuickMediaSorterProjectTriggerAction(); int step = 0; switch (action.ActionTypeEnum) { case ObjectModel.ActionType.None: break; case ObjectModel.ActionType.Next: step = 1; break; case ObjectModel.ActionType.Previous: step = -1; break; case ObjectModel.ActionType.Delete: step = 1; fileInfo.Delete(); break; case ObjectModel.ActionType.Copy: List <string> l = new List <string>() { fileInfo.FullName }; ShellFileOperation.CopyItems(l, action.FullPathFolder); //fileInfo.CopyTo(PathHelper.GetFullPath(action.FullPathFolder, fileInfo.Name)); step = 1; break; case ObjectModel.ActionType.Move: List <string> l1 = new List <string>() { fileInfo.FullName }; ShellFileOperation.MoveItems(l1, action.FullPathFolder); //fileInfo.MoveTo(PathHelper.GetFullPath(action.FullPathFolder, fileInfo.Name)); step = 1; break; default: throw new ArgumentOutOfRangeException(); } return(step); }
internal static QuickMediaSorterProject GetDefault() { QuickMediaSorterProject qms = new QuickMediaSorterProject(); var trigger = new QuickMediaSorterProjectTrigger(); trigger.Key = "ControlKey"; var act = new QuickMediaSorterProjectTriggerAction(ActionType.Copy, "Album"); trigger.Action = act; qms.Trigger = new[] { trigger }; qms.Extentions = "*.jpg"; return(qms); }