240 lines
7.6 KiB
C#
240 lines
7.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace ArchiviazionePDF
|
|
{
|
|
public class DBA
|
|
{
|
|
private TransactionStoredProcedure tsp = new TransactionStoredProcedure();
|
|
private byte[] PdfByte(long idPdf)
|
|
{
|
|
byte[] stream = new byte[0];
|
|
try
|
|
{
|
|
|
|
SqlParameter[] parametri = new SqlParameter[1];
|
|
parametri[0] = new SqlParameter();
|
|
parametri[0].ParameterName = "idPdf";
|
|
parametri[0].DbType = DbType.Int64;
|
|
parametri[0].Value = idPdf;
|
|
|
|
object report = ExecuteScalar("SP_PDF_READIMAGE", parametri);
|
|
|
|
if (report != null)
|
|
stream = (byte[])report;
|
|
}
|
|
catch { stream = new byte[0]; }
|
|
return stream;
|
|
}
|
|
|
|
public byte[] BeginArchivioImage(long idPdf)
|
|
{
|
|
byte[] b = PdfByte(idPdf);
|
|
tsp = new TransactionStoredProcedure();
|
|
|
|
SqlParameter[] parametri = new SqlParameter[2];
|
|
parametri[0] = new SqlParameter();
|
|
parametri[0].ParameterName = "idPdf";
|
|
parametri[0].DbType = DbType.Int64;
|
|
parametri[0].Value = idPdf;
|
|
|
|
parametri[1] = new SqlParameter();
|
|
parametri[1].ParameterName = "idProvenienza";
|
|
parametri[1].DbType = DbType.String;
|
|
parametri[1].Value = "A";
|
|
|
|
if (b.Length > 0)
|
|
tsp.BeginTransactionStoredProcedure("SP_PDF_ARCHIVEIMAGE", parametri);
|
|
|
|
return b;
|
|
|
|
}
|
|
public void CommitArchivioImage() { tsp.CommitTransactionStoredProcedure(); }
|
|
public bool RollbackArchivioImage() { return tsp.RollbackTransactionStoredProcedure(); }
|
|
|
|
public DataTable DaArchiviare()
|
|
{
|
|
|
|
return ExecuteReader("SP_PDF_DASTORICIZZARE", new SqlParameter[0]);
|
|
}
|
|
|
|
public DataTable DaCancArchiviare()
|
|
{
|
|
|
|
return ExecuteReader("SP_PDF_DACANCELLARE", new SqlParameter[0]);
|
|
}
|
|
|
|
public string AggArchivio()
|
|
{
|
|
SqlParameter[] parametri = new SqlParameter[1];
|
|
parametri[0] = new SqlParameter();
|
|
parametri[0].ParameterName = "idProvenienza";
|
|
parametri[0].DbType = DbType.String;
|
|
parametri[0].Value = "A";
|
|
return (string)ExecuteScalar("SP_PDF_CANCELLASTORICIZZATO", parametri);
|
|
}
|
|
|
|
public int CancArchivio(long idPdf)
|
|
{
|
|
SqlParameter[] parametri = new SqlParameter[1];
|
|
parametri[0] = new SqlParameter();
|
|
parametri[0].ParameterName = "idPdf";
|
|
parametri[0].DbType = DbType.Int64;
|
|
parametri[0].Value = idPdf;
|
|
|
|
parametri[1] = new SqlParameter();
|
|
parametri[1].ParameterName = "idProvenienza";
|
|
parametri[1].DbType = DbType.String;
|
|
parametri[1].Value = "A";
|
|
|
|
return (int)ExecuteScalar("SP_PDF_CANCELLAARCHIVIATO", parametri);
|
|
}
|
|
|
|
public DataTable DaRestorare()
|
|
{
|
|
return ExecuteReader("SP_PDF_DARESTORARE", new SqlParameter[0]);
|
|
}
|
|
|
|
|
|
public int ScriviErrore(string UtenteWindows,string Errore,string ErroreBreve )
|
|
{
|
|
|
|
SqlParameter[] parametri = new SqlParameter[3];
|
|
parametri[0] = new SqlParameter();
|
|
parametri[0].ParameterName = "UtenteWindows";
|
|
parametri[0].DbType = DbType.String;
|
|
parametri[0].Value = UtenteWindows;
|
|
|
|
parametri[1] = new SqlParameter();
|
|
parametri[1].ParameterName = "Errore";
|
|
parametri[1].DbType = DbType.String;
|
|
parametri[1].Value = Errore;
|
|
|
|
parametri[2] = new SqlParameter();
|
|
parametri[2].ParameterName = "ErroreBreve";
|
|
parametri[2].DbType = DbType.String;
|
|
parametri[2].Value = ErroreBreve;
|
|
|
|
return ExecuteNonQuery("sp_insert_errori", parametri);
|
|
|
|
}
|
|
|
|
|
|
//public int AggPdfArchiviato(long idPdf)
|
|
//{
|
|
// SqlParameter[] parametri = new SqlParameter[3];
|
|
// parametri[0] = new SqlParameter();
|
|
// parametri[0].ParameterName = "idPdf";
|
|
// parametri[0].DbType = DbType.UInt64;
|
|
// parametri[0].Value = idPdf;
|
|
// parametri[1] = new SqlParameter();
|
|
// parametri[1].ParameterName = "idStato";
|
|
// parametri[1].DbType = DbType.String;
|
|
// parametri[1].Value = "A";
|
|
// parametri[2] = new SqlParameter();
|
|
// parametri[2].ParameterName = "idProvenienza";
|
|
// parametri[2].DbType = DbType.String;
|
|
// parametri[2].Value = "A";
|
|
|
|
|
|
// return ExecuteNonQuery("SP_PDF_UPDATESTATO", parametri);
|
|
|
|
//}
|
|
|
|
public void RestorePdf(byte[] pdfData, long idPdf)
|
|
{
|
|
|
|
SqlParameter[] parametri = new SqlParameter[3];
|
|
parametri[0] = new SqlParameter();
|
|
parametri[0].ParameterName = "idPdf";
|
|
parametri[0].DbType = DbType.Int64;
|
|
parametri[0].Value = idPdf;
|
|
|
|
parametri[1] = new SqlParameter();
|
|
parametri[1].ParameterName = "Image";
|
|
parametri[1].DbType = DbType.Binary;
|
|
parametri[1].Value = pdfData;
|
|
|
|
parametri[2] = new SqlParameter();
|
|
parametri[2].ParameterName = "idProvenienza";
|
|
parametri[2].DbType = DbType.String;
|
|
parametri[2].Value = "R";
|
|
|
|
ExecuteNonQuery("SP_PDF_RESTOREIMAGE", parametri);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private object ExecuteScalar(string sored, SqlParameter[] parametri)
|
|
{
|
|
|
|
SqlConnection Sqlconn = new SqlConnection(Config.connSqlServer);
|
|
SqlCommand Sqlcmd = new SqlCommand(sored, Sqlconn);
|
|
Sqlcmd.CommandType = CommandType.StoredProcedure;
|
|
Sqlcmd.Parameters.AddRange(parametri);
|
|
Sqlconn.Open();
|
|
object o = Sqlcmd.ExecuteScalar();
|
|
Sqlconn.Close();
|
|
return o;
|
|
|
|
}
|
|
private DataTable ExecuteReader(string sored, SqlParameter[] parametri)
|
|
{
|
|
SqlConnection Sqlconn = new SqlConnection(Config.connSqlServer);
|
|
SqlCommand Sqlcmd = new SqlCommand(sored, Sqlconn);
|
|
Sqlcmd.CommandType = CommandType.StoredProcedure;
|
|
Sqlcmd.Parameters.AddRange(parametri);
|
|
Sqlconn.Open();
|
|
SqlDataReader myReader = Sqlcmd.ExecuteReader();
|
|
|
|
DataTable dt = new DataTable(sored);
|
|
foreach (DataRow dr in myReader.GetSchemaTable().Rows)
|
|
dt.Columns.Add(dr["ColumnName"].ToString());
|
|
|
|
while (myReader.Read())
|
|
{
|
|
|
|
DataRow dr = dt.NewRow();
|
|
for (int r = 0; r < myReader.FieldCount; r++)
|
|
{
|
|
dr[r] = myReader[r];
|
|
}
|
|
dt.Rows.Add(dr);
|
|
}
|
|
myReader.Close();
|
|
return dt;
|
|
}
|
|
private int ExecuteNonQuery(string sored, SqlParameter[] parametri)
|
|
{
|
|
SqlConnection Sqlconn = new SqlConnection(Config.connSqlServer);
|
|
SqlCommand Sqlcmd = new SqlCommand(sored, Sqlconn);
|
|
Sqlcmd.CommandType = CommandType.StoredProcedure;
|
|
Sqlcmd.Parameters.AddRange(parametri);
|
|
Sqlconn.Open();
|
|
int o = Sqlcmd.ExecuteNonQuery();
|
|
Sqlconn.Close();
|
|
return o;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|