private bool Compare(string self, string comparable) { if (string.IsNullOrEmpty(self) | string.IsNullOrEmpty(comparable)) { return(false); } self = self.ToLower().TrimEnd(ZipExtension.ToCharArray()).TrimEnd(CsvExtension.ToCharArray()); comparable = comparable.ToLower().TrimEnd(ZipExtension.ToCharArray()).TrimEnd(CsvExtension.ToCharArray()); if (self.EndsWith(comparable) | comparable.EndsWith(self)) { Log.Debug("full match", comparable); return(true); } if (self.EndsWith(Path.GetFileName(comparable)) | comparable.EndsWith(Path.GetFileName(self))) { Log.Debug("partial (file name) match", comparable); return(true); } return(false); }