public ConditionalSelectData(ConditionalSelectParameters.FileNameParameters filedata, ConditionalSelectParameters.FileSizeParameters sizedata, ConditionalSelectParameters.DateParameters createddata, ConditionalSelectParameters.DateParameters modifieddata, ConditionalSelectParameters.DateParameters accessedata, bool usefilename, bool usefilesize, bool usecreated, bool usemodified, bool useaccessed) { this.FileNameData = filedata; this.FileSizeData = sizedata; this.DateCreatedData = createddata; this.DateModifiedData = modifieddata; this.DateAccessedData = accessedata; this.FilterByDateAccessed = useaccessed; this.FilterByDateCreated = usecreated; this.FilterByDateModified = usemodified; this.FilterByFileName = usefilename; this.FilterByFileSize = usefilesize; }
public ShellObjectCollection FilterByAccessDate(ShellObjectCollection shells, DateTime datetocompare, ConditionalSelectParameters.DateFilterTypes filter) { ShellObjectCollection outshells = new ShellObjectCollection(); foreach (ShellObject item in shells) { FileInfo data = new FileInfo(item.ParsingName); switch (filter) { case ConditionalSelectParameters.DateFilterTypes.EarlierThan: if (DateTime.Compare(data.LastAccessTimeUtc.Date, datetocompare) < 0) outshells.Add(item); break; case ConditionalSelectParameters.DateFilterTypes.LaterThan: if (DateTime.Compare(data.LastAccessTimeUtc.Date, datetocompare) > 0) outshells.Add(item); break; case ConditionalSelectParameters.DateFilterTypes.Equals: if (DateTime.Compare(data.LastAccessTimeUtc.Date, datetocompare) == 0) outshells.Add(item); break; default: break; } } return outshells; }
private List<BExplorer.Shell._Plugin_Interfaces.IListItemEx> DateFilter(List<BExplorer.Shell._Plugin_Interfaces.IListItemEx> shells, ConditionalSelectParameters.DateParameters filter, Func<FileInfo, DateTime> GetDate) { var outshells = new List<BExplorer.Shell._Plugin_Interfaces.IListItemEx>(); foreach (var item in shells) { var Date = GetDate(new FileInfo(item.ParsingName)); switch (filter.filter) { case ConditionalSelectParameters.DateFilterTypes.EarlierThan: if (DateTime.Compare(Date, filter.queryDate) < 0) outshells.Add(item); break; case ConditionalSelectParameters.DateFilterTypes.LaterThan: if (DateTime.Compare(Date, filter.queryDate) > 0) outshells.Add(item); break; case ConditionalSelectParameters.DateFilterTypes.Equals: if (DateTime.Compare(Date, filter.queryDate) == 0) outshells.Add(item); break; default: break; } } return outshells; }