/// <summary> /// Convert digital size To the byte. /// </summary> /// <param name="value">The value.</param> /// <param name="sizeSuffixes">The size suffixes.</param> /// <returns></returns> /// <createdOn>1/26/2016 11:19 AM</createdOn> /// <exception cref="System.ArgumentOutOfRangeException">null</exception> public static long ToByte(this long value, SizeSuffixes sizeSuffixes) { switch (sizeSuffixes) { case SizeSuffixes.Bytes: break; case SizeSuffixes.KB: value = value * 1024; break; case SizeSuffixes.MB: value = value * 1024 * 1024; break; case SizeSuffixes.GB: value = value * 1024 * 1024 * 1024; break; case SizeSuffixes.TB: value = value * 1024 * 1024 * 1024 * 1024; break; default: throw new ArgumentOutOfRangeException(nameof(sizeSuffixes), sizeSuffixes, null); } return(value); }
/// <summary> /// Determines whether [is valid size] [the specified size]. /// </summary> /// <param name="control">The control.</param> /// <param name="size">Target size to compare.</param> /// <param name="sizeSuffixes">The size suffixes of target size.</param> /// <returns></returns> /// <createdOn>1/26/2016 11:20 AM</createdOn> public static bool IsValidFileSize(this FileUpload control, long size, SizeSuffixes sizeSuffixes = SizeSuffixes.Bytes) { if (!control.HasFile || !control.HasFiles) throw new Exception("No file exsit in the file upload"); //If file upload has multiple files if (control.AllowMultiple) { return !control.PostedFiles.Any(file => file.ContentLength > size.ToByte(sizeSuffixes)); } //If files not has multiple files return control.FileContent.Length <= size.ToByte(sizeSuffixes); }
public void CalculateConversions() { this.conversions = new List <KeyValuePair <string, double> >(); int nthSelectedUnitType = int.Parse(this.SelectedUnitType); SizeSuffixes selectedUnitType = (SizeSuffixes)nthSelectedUnitType; this.conversions.Add(new KeyValuePair <string, double>(selectedUnitType.ToDescription(), this.SelectedAmount)); double tempResult = this.SelectedAmount; int len = Enum.GetValues(typeof(SizeSuffixes)).Length; for (int i = nthSelectedUnitType + 1; i < len; i++) { if (this.SelectedKilo == 1000) { tempResult *= i % 2 == 0 ? ConversionMultiplier.decimalYteToIt : ConversionMultiplier.decimalItToYte; } else if (this.SelectedKilo == 1024) { tempResult *= i % 2 == 0 ? ConversionMultiplier.binaryYtetoIt : ConversionMultiplier.binaryItToYte; } this.conversions.Add(new KeyValuePair <string, double>(((SizeSuffixes)i).ToDescription(), tempResult)); } tempResult = this.SelectedAmount; for (int i = nthSelectedUnitType - 1; i >= 0; i--) { if (this.SelectedKilo == 1000) { tempResult /= i % 2 == 0 ? ConversionMultiplier.decimalItToYte : ConversionMultiplier.decimalYteToIt; } else if (this.SelectedKilo == 1024) { tempResult /= i % 2 == 0 ? ConversionMultiplier.binaryItToYte : ConversionMultiplier.binaryYtetoIt; } this.conversions.Insert(0, new KeyValuePair <string, double>(((SizeSuffixes)i).ToDescription(), tempResult)); } }
/// <summary> /// Determines whether [is valid size] [the specified size]. /// </summary> /// <param name="control">The control.</param> /// <param name="size">Target size to compare.</param> /// <param name="sizeSuffixes">The size suffixes of target size.</param> /// <returns></returns> /// <createdOn>1/26/2016 11:20 AM</createdOn> public static bool IsValidFileSize(this FileUpload control, long size, SizeSuffixes sizeSuffixes = SizeSuffixes.Bytes) { if (!control.HasFile || !control.HasFiles) { throw new Exception("No file exsit in the file upload"); } //If file upload has multiple files if (control.AllowMultiple) { return(!control.PostedFiles.Any(file => file.ContentLength > size.ToByte(sizeSuffixes))); } //If files not has multiple files return(control.FileContent.Length <= size.ToByte(sizeSuffixes)); }
public static string GetSizeSuffix(this SizeSuffixes s, int value, int decimalPlaces = 1) { if (value < 0) { return("-" + s.GetSizeSuffix(-value)); } if (value == 0) { return("0.0 bytes"); } int mag = (int)Math.Log(value, 1024); decimal adjustedSize = value / (1L << (mag * 10)); if (Math.Round(adjustedSize, decimalPlaces) >= 1000) { mag += 1; adjustedSize /= 1024; } return(string.Format("{0:n" + decimalPlaces + "} {1}", adjustedSize, SizeSuffixes.Suffixes[mag])); }
/// <summary> /// Convert digital size To the byte. /// </summary> /// <param name="value">The value.</param> /// <param name="sizeSuffixes">The size suffixes.</param> /// <returns></returns> /// <createdOn>1/26/2016 11:19 AM</createdOn> /// <exception cref="System.ArgumentOutOfRangeException">null</exception> public static long ToByte(this long value, SizeSuffixes sizeSuffixes) { switch (sizeSuffixes) { case SizeSuffixes.Bytes: break; case SizeSuffixes.KB: value = value * 1024; break; case SizeSuffixes.MB: value = value * 1024 * 1024; break; case SizeSuffixes.GB: value = value * 1024 * 1024 * 1024; break; case SizeSuffixes.TB: value = value * 1024 * 1024 * 1024 * 1024; break; default: throw new ArgumentOutOfRangeException(nameof(sizeSuffixes), sizeSuffixes, null); } return value; }