private string GetFilesystemPath(INote note) { var filename = FilenameHelper.ConvertStringForFilename(note.Title); if (string.IsNullOrWhiteSpace(filename)) { filename = FilenameHelper.ConvertStringForFilename(note.UniqueName); } var ext = ".txt"; if (note.HasTagCaseInsensitive(AppSettings.TAG_MARKDOWN)) { ext = ".md"; } if (note.Path.IsRoot()) { return(Path.Combine(_path, filename + ext)); } var comp = new[] { _path } .Concat(note.Path.Enumerate().Select(FilenameHelper.ConvertStringForFilename)) .Concat(new[] { filename + ext }); return(Path.Combine(comp.ToArray())); }
public override bool IsMatch(INote n) { if (_nocase && n.HasTagCaseInsensitive(_tag)) { return(true); } if (!_nocase && n.HasTagCaseSensitive(_tag)) { return(true); } return(false); }
public override bool IsMatch(INote n) { if (_nocase) { if (_exact) { if (n.Title.ToLower() == _needle.ToLower()) { return(true); } if (n.Text.ToLower() == _needle.ToLower()) { return(true); } } else { if (n.Title.ToLower().Contains(_needle.ToLower())) { return(true); } if (n.Text.ToLower().Contains(_needle.ToLower())) { return(true); } } if (n.HasTagCaseInsensitive(_needle)) { return(true); } } else { if (_exact) { if (n.Title == _needle) { return(true); } if (n.Text == _needle) { return(true); } } else { if (n.Title.Contains(_needle)) { return(true); } if (n.Text.Contains(_needle)) { return(true); } } if (n.HasTagCaseSensitive(_needle)) { return(true); } } return(false); }