/// <summary> /// Creating <see cref="HostingSpaceRow"/> from DataRow containing data about Hosting Space /// </summary> /// <param name="report">Current <see cref="OverusageReport"/></param> /// <param name="hostingSpaceRow"><see cref="DataRow"/> containing information about Hosting Space.</param> /// <param name="isDiskspaceOverused">Indicates whether disk space is overused.</param> /// <param name="isBandwidthOverused">Indicates whether bandwidth is overusaed.</param> /// <param name="packageFullTree">File system -like path to hosting space described by <paramref name="hostingSpaceRow"/></param> /// <returns><see cref="HostingSpaceRow"/> instance.</returns> /// <exception cref="ArgumentNullException">When <paramref name="report"/> or <paramref name="hostingSpaceRow"/> is null.</exception> public static HostingSpaceRow CreateFromHostingSpacesRow(OverusageReport report, DataRow hostingSpaceRow, bool isDiskspaceOverused, bool isBandwidthOverused, string packageFullTree) { if (report == null) { throw new ArgumentNullException("report"); } if (hostingSpaceRow == null) { throw new ArgumentNullException("hostingSpaceRow"); } HostingSpaceRow row = report.HostingSpace.NewHostingSpaceRow(); row.IsBandwidthOverused = isBandwidthOverused; row.IsDiskspaceOverused = isDiskspaceOverused; row.HostingSpaceName = OverusageReportUtils.GetStringOrDefault(hostingSpaceRow, "PackageName", String.Empty); row.UserEmail = OverusageReportUtils.GetStringOrDefault(hostingSpaceRow, "Email", String.Empty); row.UserName = OverusageReportUtils.GetStringOrDefault(hostingSpaceRow, "Username", String.Empty); row.UserId = OverusageReportUtils.GetLongValueOrDefault(hostingSpaceRow["UserId"].ToString(), 0); row.HostingSpaceId = OverusageReportUtils.GetLongValueOrDefault(hostingSpaceRow["PackageID"].ToString(), 0); row.ChildSpaceQuantity = (int)OverusageReportUtils.GetLongValueOrDefault(hostingSpaceRow["PackagesNumber"].ToString(), 0); row.Status = hostingSpaceRow["StatusID"].ToString(); row.HostingSpaceFullTreeName = packageFullTree; return(row); }
/// <summary> /// Verify whether <paramref name="hostingSpacesRow"/> contains child spaces. /// </summary> /// <param name="hostingSpacesRow"><see cref="DataRow"/> containing information about Hosting Space.</param> /// <returns>True it Hosting space contains child spaces. Otherwise, False.</returns> /// <exception cref="ArgumentNullException">When <paramref name="hostingSpacesRow"/> is null.</exception> public static bool IsContainChildSpaces(DataRow hostingSpacesRow) { if (hostingSpacesRow == null) { throw new ArgumentNullException("hostingSpacesRow"); } return(OverusageReportUtils.GetLongValueOrDefault(hostingSpacesRow["PackagesNumber"].ToString(), 0) > 0); }
/// <summary> /// Vefiry if bandwidth is overused by Hosting Space /// </summary> /// <param name="hostingSpacesRow"><see cref="DataRow"/> containing bandwidth information about Hosting Space.</param> /// <returns>True, if bandwidth is overused by a Hosting Space. Otherwise, False.</returns> /// <exception cref="ArgumentNullException">When <paramref name="hostingSpacesRow"/> is null.</exception> public static bool VerifyIfBandwidthOverused(DataRow hostingSpacesRow) { if (hostingSpacesRow == null) { throw new ArgumentNullException("hostingSpacesRow"); } long allocated = OverusageReportUtils.GetLongValueOrDefault(hostingSpacesRow["QuotaValue"].ToString(), 0), used = OverusageReportUtils.GetLongValueOrDefault(hostingSpacesRow["Bandwidth"].ToString(), 0); return(used > allocated); }
/// <summary> /// Returns a package id /// </summary> /// <param name="hostingSpaceRow"><see cref="DataRow"/> containing information about Hosting Space</param> /// <returns>Hosting space ID.</returns> /// <exception cref="ArgumentOutOfRangeException">When DataRow does not contain PackageID field or this field contains value less then 1.</exception> public static long GetPackageId(DataRow hostingSpaceRow) { long hostingSpaceId = OverusageReportUtils.GetLongValueOrDefault(hostingSpaceRow["PackageID"].ToString(), 0); if (hostingSpaceId < 1) { throw new ArgumentOutOfRangeException( "hostingSpaceId" , String.Format( "PackageID field is either empty or contains incorrect value. Received package ID value: {0}." , hostingSpaceId ) ); } return(hostingSpaceId); }
/// <summary> /// Creates a <see cref="BandwidthOverusageRow"/> using the <see cref="OverusageReport"/> /// DataSet from a row that contains information about bandwidth usage. /// </summary> /// <param name="report">Instance of <see cref="OverusageReport"/> class.</param> /// <param name="hostingSpaceDataRow">DataRow with bandwidth information.</param> /// <returns><see cref="BandwidthOverusageRow"/>.</returns> /// <exception cref="ArgumentNullException">When <paramref name="report"/> or either <paramref name="hostingSpaceDataRow"/> is <code>null</code>.</exception> public static BandwidthOverusageRow CreateFromHostingSpaceDataRow(OverusageReport report, DataRow hostingSpaceDataRow) { if (report == null) { throw new ArgumentNullException("report"); } if (hostingSpaceDataRow == null) { throw new ArgumentNullException("hostingSpaceDataRow"); } BandwidthOverusageRow row = report.BandwidthOverusage.NewBandwidthOverusageRow(); row.HostingSpaceId = OverusageReportUtils.GetLongValueOrDefault(hostingSpaceDataRow["PackageID"].ToString(), 0); row.Allocated = OverusageReportUtils.GetLongValueOrDefault(hostingSpaceDataRow["QuotaValue"].ToString(), 0); row.Used = OverusageReportUtils.GetLongValueOrDefault(hostingSpaceDataRow["Bandwidth"].ToString(), 0); row.Usage = (row.Used - row.Allocated); return(row); }
/// <summary> /// Creates <see cref="OverusageDetailsRow"/> using information about Hosting Space bandwidth. /// </summary> /// <param name="report">Current <see cref="OverusageReport"/> instance.</param> /// <param name="bandwidthRow"><see cref="DataRow"/> containing information about Hosting Space bandwidth.</param> /// <param name="hostingSpaceId">Hosting Space Id.</param> /// <param name="overusageType">Type of overusage. Diskspace, Bandwidth, etc.</param> /// <returns><see cref="OverusageDetailsRow"/> filled from <paramref name="bandwidthRow"/>.</returns> /// <exception cref="ArgumentNullException">When <paramref name="report"/>, <paramref name="bandwidthRow"/> or <paramref name="overusageType"/> is null.</exception> /// <exception cref="ArgumentOutOfRangeException">When <paramref name="hostingSpaceId"/> less then 1.</exception> public static OverusageDetailsRow CreateFromBandwidthRow(OverusageReport report, DataRow bandwidthRow, long hostingSpaceId, string overusageType) { if (report == null) { throw new ArgumentNullException("report"); } if (bandwidthRow == null) { throw new ArgumentNullException("bandwidthRow"); } if (String.IsNullOrEmpty(overusageType)) { throw new ArgumentNullException("overusageType"); } if (hostingSpaceId < 1) { throw new ArgumentOutOfRangeException( "hostingSpaceId" , String.Format( "Hosting Space Id cannot be less then 1, however it is {0}." , hostingSpaceId ) ); } OverusageDetailsRow row = report.OverusageDetails.NewOverusageDetailsRow(); row.HostingSpaceId = hostingSpaceId; row.OverusageType = overusageType; row.ResourceGroupName = OverusageReportUtils.GetStringOrDefault(bandwidthRow, "GroupName", "Files"); row.Used = OverusageReportUtils.GetLongValueOrDefault(bandwidthRow["MegaBytesSent"].ToString(), 0); row.AdditionalField = OverusageReportUtils.GetLongValueOrDefault(bandwidthRow["MegaBytesReceived"].ToString(), 0); row.Allowed = 0; return(row); }