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; }
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) { FileInfo data = new FileInfo(item.ParsingName); var Date = GetDate(data); 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); }