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);
        }
Example #2
0
        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);
        }