155 lines
6.7 KiB
Plaintext
155 lines
6.7 KiB
Plaintext
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
using System.Collections;
|
||
using System.Web;
|
||
using System.Web.Security;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Web.UI.WebControls.WebParts;
|
||
using System.Web.UI.HtmlControls;
|
||
using ReportVS;
|
||
using ceTe.DynamicPDF.Merger;
|
||
using System.Collections.Generic;
|
||
using LogFilePDF;
|
||
|
||
|
||
public partial class ReinvioASelecta : System.Web.UI.Page
|
||
{
|
||
bool periodico;
|
||
string tipoReport;
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
|
||
int identificativoPDF = Convert.ToInt32(Request.QueryString.Get("pdfID"));
|
||
int pdfC6 = Convert.ToInt32(Request.QueryString.Get("pdfC6"));
|
||
string rete = Request.QueryString.Get("Rete");
|
||
string codiceFiscale = Request.QueryString.Get("CodiceFiscale");
|
||
//string tipoReport = Request.QueryString.Get("tipoReport");
|
||
ReInvio(identificativoPDF, pdfC6, rete, codiceFiscale);
|
||
|
||
}
|
||
|
||
|
||
private byte[] getPDF(int idPDF, int pdfC6, string rete, string codiceFiscale)
|
||
{
|
||
DocumentPDF documentPDF = new DocumentPDF();
|
||
|
||
|
||
List<Parametro> parametri = new List<Parametro>();
|
||
Parametro idq = new Parametro();
|
||
idq.ParameterName = "Id";
|
||
idq.DbType = DbType.Int32;
|
||
idq.Value = idPDF;
|
||
parametri.Add(idq);
|
||
|
||
DataTable dati = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "[dbo].[sp_getCheckPeriodico]", parametri);
|
||
periodico = false;
|
||
tipoReport = string.Empty;
|
||
if(dati.Rows.Count > 0) {
|
||
periodico = (Convert.ToBoolean(dati.Rows[0]["FlagPeriodico"]));
|
||
tipoReport = dati.Rows[0]["TipoReport"].ToString();
|
||
}
|
||
|
||
byte[] letteraAccompagnamento;
|
||
|
||
if (!periodico)
|
||
letteraAccompagnamento = GestoreLettera.componiLetteraRistampa(codiceFiscale, rete, LetteraAccompagnamento.TipoReport.Diagnosi, idPDF,false);
|
||
else
|
||
if(tipoReport.ToUpper() == "DIAGNOSI")
|
||
letteraAccompagnamento = GestoreLettera.componiLetteraRistampa(codiceFiscale, rete,LetteraAccompagnamento.TipoReport.Diagnosi, idPDF,true);
|
||
else
|
||
letteraAccompagnamento = GestoreLettera.componiLetteraRistampa(codiceFiscale, rete, LetteraAccompagnamento.TipoReport.Monitoraggio, idPDF,true);
|
||
|
||
byte[] pdf = documentPDF.getDataFromDB(idPDF, pdfC6);
|
||
|
||
PdfDocument pdfLetteraAccompagnamento = new PdfDocument(letteraAccompagnamento);
|
||
PdfDocument pdfDoc = new PdfDocument(pdf);
|
||
MergeDocument mDoc = MergeDocument.Merge(pdfLetteraAccompagnamento, pdfDoc);
|
||
return mDoc.Draw();
|
||
}
|
||
private void ReInvio(int idPDF, int pdfC6, string rete, string codiceFiscale) {
|
||
|
||
List<Parametro> parametri = new List<Parametro>();
|
||
Parametro idq = new Parametro();
|
||
idq.ParameterName = "Id";
|
||
idq.DbType = DbType.Int32;
|
||
idq.Value = idPDF;
|
||
parametri.Add(idq);
|
||
|
||
DataTable dati = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "[dbo].[sp_getCheckPeriodico]", parametri);
|
||
periodico = false;
|
||
tipoReport = string.Empty;
|
||
if (dati.Rows.Count > 0)
|
||
{
|
||
periodico = (Convert.ToBoolean(dati.Rows[0]["FlagPeriodico"]));
|
||
tipoReport = dati.Rows[0]["TipoReport"].ToString();
|
||
}
|
||
idq.ParameterName = "IdReport";
|
||
int checkLetteraRistampa;
|
||
|
||
if(!periodico)
|
||
checkLetteraRistampa = (int)DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServerStampeC6, "[C6Mart].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO]", parametri);
|
||
else
|
||
checkLetteraRistampa = (int)DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServerStampeC6, "[C6MartPeriodico].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO]", parametri);
|
||
|
||
if (checkLetteraRistampa == 1)
|
||
{
|
||
List<Parametro> listaParametri = new List<Parametro>();
|
||
Parametro id = new Parametro();
|
||
id.ParameterName = "IdReport";
|
||
id.DbType = DbType.Int32;
|
||
id.Value = idPDF;
|
||
listaParametri.Add(id);
|
||
|
||
Parametro image = new Parametro();
|
||
image.ParameterName = "Img";
|
||
image.DbType = DbType.Binary;
|
||
image.Value = getPDF(idPDF, pdfC6, rete, codiceFiscale);
|
||
listaParametri.Add(image);
|
||
|
||
int nuovoId = DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServer, "[dbo].[C6_S_WritePDFintoDBRistampa]", listaParametri);
|
||
|
||
|
||
List<Parametro> listaParametriRistampa = new List<Parametro>();
|
||
Parametro id1 = new Parametro();
|
||
id1.ParameterName = "Id";
|
||
id1.DbType = DbType.Int32;
|
||
id1.Value = idPDF;
|
||
listaParametriRistampa.Add(id1);
|
||
|
||
Parametro idNuovo = new Parametro();
|
||
idNuovo.ParameterName = "IdNuovo";
|
||
idNuovo.DbType = DbType.Int32;
|
||
idNuovo.Value = nuovoId;
|
||
listaParametriRistampa.Add(idNuovo);
|
||
if(!periodico)
|
||
DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServerStampeC6, "[C6Mart].[GESTIONE_INSERT_PDF_FTP_RISTAMPA]", listaParametriRistampa);
|
||
else
|
||
DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServerStampeC6, "[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA]", listaParametriRistampa);
|
||
GestoreLogPDF gl = new GestoreLogPDF(nuovoId);
|
||
gl.Applicativo = "HD";
|
||
gl.scriviLog(EventLog.SELECTA_RistampaReport);
|
||
}
|
||
else {
|
||
//if (Response.ContentType.ToUpper() != "TEXT/HTML")
|
||
//{
|
||
// Response.ContentType = "TEXT/HTML";
|
||
// Response.Clear();
|
||
//}
|
||
|
||
string msgErrore = "Il documento in questione <20> gi<67> in attesa di essere inviato a Selecta.";
|
||
//string mostraMessaggioDaCodice = @"MostraMessaggioDaCodice(\""Si <20> verificato un errore durante l'elaborazione della richiesta.\\n Per il dettaglio vedere l'Event Viewer al seguente link:\\n http://rmsrv06-wse/EVENTVIEWER/eventviewer.aspx\"");";
|
||
string command = "alert(\"" + msgErrore + "\");";
|
||
string mostraMessaggioDaCodice = @"<script language=\""javascript\"" type=\""text/javascript\"">alert(\""" + msgErrore + "\\\");</script>";
|
||
ClientScript.RegisterStartupScript(typeof(string), "messaggioErrore",
|
||
"<script language=\"javascript\" type=\"text/javascript\">" + "\n" +
|
||
"<!--" + "\n" +
|
||
command + "\n" +
|
||
"//-->" + "\n" +
|
||
"</script>");
|
||
}
|
||
}
|
||
}
|
||
|