/// <summary> /// Constructor predicated upon file size information /// </summary> /// <param name="boolRecurse">Whether or not to retrieve files recursively</param> /// <param name="sizeType">The size type to query file system objects for</param> /// <param name="decMinimumSize">The minimum size of the file system object</param> /// <param name="decMaximumSize">The maximum size of the file system object</param> public SearchInformation(bool boolRecurse, FileInformation.FileSizeType sizeType, decimal decMinimumSize = 0, decimal decMaximumSize = Decimal.MaxValue) { this.Recurse = boolRecurse; this.SizeType = sizeType; this.MinimumSize = decMinimumSize; this.MaximumSize = decMaximumSize; // Configure Search Information Values this.LoadSearchInformation(); }
/// <summary> /// Constructor predicated upon file size /// </summary> /// <param name="boolRecurse">Whether or not to retrieve files recursively</param> /// <param name="strSearchPattern">Search pattern to use to find file system objects</param> /// <param name="boolMatchCase">Whether or not the search pattern is case sensitive</param> /// <param name="sizeType">The size type to query file system objects for</param> /// <param name="decMinimumSize">The minimum size of the file system object</param> /// <param name="decMaximumSize">The maximum size of the file system object</param> public SearchInformation(bool boolRecurse, string strSearchPattern, bool boolMatchCase, FileInformation.FileSizeType sizeType, decimal decMinimumSize, decimal decMaximumSize) { this.Recurse = boolRecurse; this.SearchPattern = strSearchPattern; this.MatchCase = boolMatchCase; // Configure Search Information Values this.LoadSearchInformation(); }
/// <summary> /// Constructor with constraints for recursion, search parameters, date information, and size information /// </summary> /// <param name="boolRecurse">Whether or not to retrieve files recursively</param> /// <param name="strSearchPattern">Search pattern to use to find file system objects</param> /// <param name="boolMatchCase">Whether or not the search pattern is case sensitive</param> /// <param name="dateType">The date type to query file system objects for</param> /// <param name="dtMinimumDate">The minimum date of the file system object</param> /// <param name="dtMaximumDate">The maximum date of the file system object</param> /// <param name="sizeType">The size type to query file system objects for</param> /// <param name="decMinimumSize">The minimum size of the file system object</param> /// <param name="decMaximumSize">The maximum size of the file system object</param> public SearchInformation(bool boolRecurse, string strSearchPattern, bool boolMatchCase, FileInformation.FileDatePropertyType dateType, DateTime dtMinimumDate, DateTime dtMaximumDate, FileInformation.FileSizeType sizeType = FileInformation.FileSizeType.Bytes, decimal decMinimumSize = 0, decimal decMaximumSize = Decimal.MaxValue) { this.Recurse = boolRecurse; this.SearchPattern = strSearchPattern; this.MatchCase = boolMatchCase; this.DateType = dateType; this.MinimumDate = dtMinimumDate; this.MaximumDate = dtMaximumDate; this.SizeType = sizeType; this.MinimumSize = decMinimumSize; this.MaximumSize = decMaximumSize; // Configure Search Information Values this.LoadSearchInformation(); }
internal static decimal GetSize(this DirectoryObject directoryObject, FileInformation.FileSizeType fileSizeType, bool boolRecurse) { try { // Get Directory Files FileObjectList listFiles = directoryObject.GetFiles(boolRecurse); // Get Total Size decimal decDirectorySize = listFiles.Select(file => ( (fileSizeType == FileInformation.FileSizeType.Bytes) ? file.Size.Bytes : (fileSizeType == FileInformation.FileSizeType.KiloBytes) ? file.Size.KiloBytes : (fileSizeType == FileInformation.FileSizeType.MegaBytes) ? file.Size.MegaBytes : (fileSizeType == FileInformation.FileSizeType.GigaBytes) ? file.Size.GigaBytes : 0)).Sum(); return(decDirectorySize); } catch (Exception ex) { // To Be Implemented: Throw Custom Exception... Console.WriteLine(ex.ToString()); return(-1); } }