public static FolderReactionModel CreateReaction(InstantActionSaveModel instantActionSaveModel) { var reaction = new FolderReactionModel(); var extentions = instantActionSaveModel.TargetFiles.Select(x => Path.GetExtension(x)) .Distinct() .Select(x => "*" + x); foreach (var ext in extentions) { reaction.Filter.AddIncludeFilter(ext); } foreach (var action in instantActionSaveModel.Actions) { reaction.AddAction(action); } reaction.Destination.AbsoluteFolderPath = instantActionSaveModel.OutputFolderPath; return reaction; }
public static InstantActionModel FromSerializedData(InstantActionSaveModel saveModel, IAppPolicyManager appPolicyManager) { var instantAction = new InstantActionModel(appPolicyManager); instantAction.Guid = saveModel.Guid; foreach (var targetFile in saveModel.TargetFiles.Select(x => new InstantActionTargetFile(x))) { instantAction._TargetFiles.Add(targetFile); } foreach (var action in saveModel.Actions) { instantAction._Actions.Add(action); } instantAction.OutputFolderPath = saveModel.OutputFolderPath; return instantAction; }