protected virtual string GetRelativePath(ISerializableItem item) { return (string.Concat(item.Database.Name, item.FullPath.Replace('/', '\\') )); }
/// <summary> /// Opens match profile and forces to download additional data /// </summary> /// <param name="item"></param> private void OpenMatchProfile(ISerializableItem item) { var obj = new PassAroundItem(); obj.Item = item; obj.DirPath = GetSourceFolder(item); Messenger.Default.Send(obj, MessengerToken.ShowMatchProfile); }
public FileHandle(ISerializableItem item, Func <string, string> pathFactory, Action <string> serializationFactory, bool generatePath = true) { this.item = item; this.pathFactory = pathFactory; this.serializationFactory = serializationFactory; if (generatePath) { this.CurrentPath = pathFactory(item.ItemName); } }
public MatchProfileView(ISerializableItem item, string dir) { InitializeComponent(); //MatchProfileViewModel viewModel = DataContext as MatchProfileViewModel; PhotoScroller.MyDirPath = dir; DataContextChanged += MatchProfileView_DataContextChanged; DataContext = item; // Close window with ESC PreviewKeyDown += (object sender, KeyEventArgs e) => { if (e.Key == Key.Escape) { Close(); } }; }
public virtual void Remove(ISerializableItem item, ISerializableItem oldParentSerializable) { foreach (var serializableDefinition in _definitionsProvider.GetSerializationDefinitions(item.Database)) { var file = new FileInfo(_pathProvider.GetOldPath(item, oldParentSerializable, serializableDefinition.Path)); if (file.Exists) { file.Delete(); } var folder = new DirectoryInfo(_pathProvider.GetOldFolderPath(item, oldParentSerializable, serializableDefinition.Path)); if (folder.Exists) { folder.Delete(); } } }
public bool Evaluate(ISerializableItem item) { var scDatabase = item.Database as ScDatabase; if (scDatabase == null) { return(false); } if (!Enabled) { return(true); } var rules = RuleFactory.ParseRules <SerializationRuleContext>(scDatabase.InnerDatabase, Filter); var context = new SerializationRuleContext { SerializationDefinition = this }; item.InitializeSerializationRuleContext(context); return(rules.Rules.All(rule => rule.Evaluate(context))); }
public virtual void Serialize(ISerializableItem item) { // foreach serialization definition var serializationDefinitions = _definitionsProvider. GetSerializationDefinitions(item.Database); foreach (var serializationDefinition in serializationDefinitions) { //see if item needs to be serialized if (!serializationDefinition.Evaluate(item)) { continue; } // get the right folder var path = _pathProvider.GetPath(item, serializationDefinition.Path); //serialize it item.Dump(path); } }
private string GetSourceFolder(ISerializableItem item) { if (MatchList.Contains(item)) { return(SerializationHelper.DIR_MATCHES); } else if (UnmatchedMeList != null && UnmatchedMeList.Contains(item)) { return(SerializationHelper.DIR_UNMATCHED); } else if (UnmatchedByMeList != null && UnmatchedByMeList.Contains(item)) { return(SerializationHelper.DIR_UNMATCHED_BY_ME); } else if (RecommendationsPassedList != null && RecommendationsPassedList.Any(x => x.Id == item.Id)) { return(SerializationHelper.DIR_RECS_PASSED); } else if (RecommendationsPendingList != null && RecommendationsPendingList.Any(x => x.Id == item.Id)) { return(SerializationHelper.DIR_RECS_PENDING); } return(string.Empty); }
public virtual bool IsSerialized(ISerializableItem item, ISerializationDefinition definition) { return(new FileInfo(_pathProvider.GetPath(item, definition.Path)).Exists); }
public virtual string GetPath(ISerializableItem item, string root) { return(string.Format("{0}\\{1}.{2}", SanitiseRootPath(root), GetRelativePath(item), Extension)); }
public virtual string GetFolderPath(ISerializableItem item, string root) { return(string.Format("{0}\\{1}", SanitiseRootPath(root), GetRelativePath(item))); }
public virtual string GetOldFolderPath(ISerializableItem item, ISerializableItem oldParent, string root) { return(string.Format("{0}\\{1}\\{2}", SanitiseRootPath(root), GetRelativePath(oldParent), item.Name)); }