private TheSite.StampaRapportiPDF.Schemixsd.DatasetReport riempiDatasetDettaglio(string id) { AgganciaDatalayer io_db = new AgganciaDatalayer(); S_ControlsCollection clDatiRicerca = new S_ControlsCollection(); int index = 0; S_Object Pid = new S_Object(); Pid.ParameterName = "Pid"; Pid.DbType = CustomDBType.Integer; Pid.Direction = ParameterDirection.Input; Pid.Index = index++; Pid.Value = Convert.ToInt32(id); clDatiRicerca.Add(Pid); S_Object Cursor = new S_Object(); Cursor.ParameterName = "RSCursor"; Cursor.DbType = CustomDBType.Cursor; Cursor.Direction = ParameterDirection.Output; Cursor.Index = index++; clDatiRicerca.Add(Cursor); io_db.NameProcedureDb = "rapportipdf.RecuperaDettagli"; DataSet dsDatiRicerca = io_db.GetData(clDatiRicerca).Copy(); DatasetReport DsTipizzato = new DatasetReport(); int i = 0; for (i = 0; i <= dsDatiRicerca.Tables[0].Rows.Count - 1; i++) { DsTipizzato.Tables["DownloadFile"].ImportRow(dsDatiRicerca.Tables[0].Rows[i]); } if (i == 0) { } return(DsTipizzato); }
private DatasetReport GenerateReportSummary(DEMDataSet dataset) { List <DemFileReport> report = GenerateReport(dataset); int totalFiles = report.Count; int downloadedCount = report.Count(rpt => rpt.IsExistingLocally); int isMetadataGeneratedCount = report.Count(rpt => rpt.IsMetadataGenerated); int isnotMetadataGeneratedCount = report.Count(rpt => !rpt.IsMetadataGenerated); var fileSizeBytes = FileSystem.GetDirectorySize(GetLocalDEMPath(dataset), "*" + dataset.FileFormat.FileExtension); var fileSizeMB = Math.Round(fileSizeBytes / 1024f / 1024f, 2); // rule of 3 to evaluate total size var totalfileSizeGB = Math.Round((totalFiles * fileSizeMB / downloadedCount) / 1024f, 2); var remainingfileSizeGB = Math.Round(totalfileSizeGB - fileSizeMB / 1024f, 2); DatasetReport reportSummary = new DatasetReport() { DatasetName = dataset.Name , TotalFiles = totalFiles , DownloadedFiles = downloadedCount , DownloadedSizeMB = fileSizeMB , FilesWithMetadata = isMetadataGeneratedCount , RemainingSizeGB = remainingfileSizeGB , TotalSizeGB = totalfileSizeGB , DowloadedPercent = Math.Round(downloadedCount * 100d / totalFiles, 2) }; return(reportSummary); }