178 lines
9.9 KiB
C#
178 lines
9.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Consulenza.ReportArchive.Entity;
|
|
using System.Data;
|
|
|
|
namespace Consulenza.ReportArchive
|
|
{
|
|
public class ReportArchiveManager
|
|
{
|
|
|
|
public long SetDocumentPdf(DocumentoPdf documentoPdf,string idProvenienza) {
|
|
return setDocumentPdf(documentoPdf,idProvenienza);
|
|
}
|
|
|
|
public int DelPdf(long idPdf, string idProvenienza) {
|
|
return delPdf(idPdf, idProvenienza);
|
|
}
|
|
|
|
public int SetStato(long idPdf,string idstato, string idProvenienza) {
|
|
|
|
|
|
|
|
|
|
return setStato(idPdf, idstato, idProvenienza);
|
|
}
|
|
|
|
public List<LogPdf> GetlogPdf(long idPdf) {
|
|
return getLogPdf(idPdf);
|
|
}
|
|
|
|
public List<DocumentoPdf> GetPdfs(RicercaPdf ricercaPdf) { return getPdf(ricercaPdf); }
|
|
|
|
public DocumentoPdf GetPdf (long idPdf) {
|
|
RicercaPdf ricercaPdf = new RicercaPdf();
|
|
ricercaPdf.IdPdf = idPdf;
|
|
DocumentoPdf documentoPdf = getPdf(ricercaPdf).First<DocumentoPdf>();
|
|
documentoPdf.Image = getImage(idPdf);
|
|
return documentoPdf;
|
|
}
|
|
|
|
|
|
private long setDocumentPdf(DocumentoPdf documentoPdf,string idProvenienza)
|
|
{
|
|
List<Parametro> pDocumentPdf = new List<Parametro>();
|
|
pDocumentPdf.Add(new Parametro { Value = idProvenienza, ParameterName = "idProvenienza" });
|
|
pDocumentPdf.Add(new Parametro { Value = documentoPdf.IdModello, ParameterName = "idModello" });
|
|
pDocumentPdf.Add(new Parametro { Value = documentoPdf.IdStato, ParameterName = "idStato" });
|
|
pDocumentPdf.Add(new Parametro { Value = documentoPdf.IdArchivio, ParameterName = "idArchivio" });
|
|
pDocumentPdf.Add(new Parametro { Value = documentoPdf.CodicePB, ParameterName = "CodicePB" });
|
|
pDocumentPdf.Add(new Parametro { DbType = DbType.Binary, Value = documentoPdf.Image, ParameterName = "Image" });
|
|
pDocumentPdf.Add(new Parametro { Value = documentoPdf.Note, ParameterName = "Note" });
|
|
pDocumentPdf.Add(new Parametro { Value = DocumentoPdf.ChiaveClientePb(documentoPdf.Clienti), ParameterName = "chiaviClientePb" });
|
|
pDocumentPdf.Add(new Parametro { Value = DocumentoPdf.codiceContratto(documentoPdf.Clienti), ParameterName = "CodiceContratto" });
|
|
pDocumentPdf.Add(new Parametro { Value = DocumentoPdf.ChiaveProposta(documentoPdf.Clienti), ParameterName = "chiaveProposta" });
|
|
pDocumentPdf.Add(new Parametro { Value = DocumentoPdf.PropostaBase(documentoPdf.Clienti), ParameterName = "PropostaBase" });
|
|
|
|
pDocumentPdf.Add(new Parametro { Value = documentoPdf.ChiaveNucleo, ParameterName = "chiaveNucleo" });
|
|
|
|
long IdPdf = (long)DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServerReportArchive, "INSERTPDF", pDocumentPdf);
|
|
|
|
return IdPdf;
|
|
}
|
|
|
|
private byte[] getImage(long idPdf)
|
|
{
|
|
List<Parametro> param = new List<Parametro>();
|
|
param.Add(new Parametro { Value = idPdf, ParameterName = "idPdf" });
|
|
DataTable dt = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerReportArchive, "READIMAGEPDF", param);
|
|
return (byte[])dt.Rows[0]["IMAGE"];
|
|
}
|
|
|
|
private List<LogPdf> getLogPdf(long idPdf)
|
|
{
|
|
List<Parametro> param = new List<Parametro>();
|
|
param.Add(new Parametro { Value = idPdf, ParameterName = "idPdf" });
|
|
DataTable dt = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerReportArchive, "GETLOGPDF", param);
|
|
return (from DataRow row in dt.Rows
|
|
select new LogPdf
|
|
{
|
|
IdPdf = int.Parse(row["idPdf"].ToString()),
|
|
Dtstamp = row["dtstamp"].ToString(),
|
|
Evento = row["Evento"].ToString(),
|
|
EventoDesc = row["EventoDesc"].ToString(),
|
|
Provenienza = row["Provenienza"].ToString(),
|
|
Utente = row["utente"].ToString(),
|
|
}).ToList<LogPdf>();
|
|
}
|
|
|
|
private int delPdf(long idPdf, string idProvenienza)
|
|
{
|
|
List<Parametro> param = new List<Parametro>();
|
|
param.Add(new Parametro { Value = idPdf, ParameterName = "idPdf" });
|
|
param.Add(new Parametro { Value = idPdf, ParameterName = "idProvenienza" });
|
|
DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServerReportArchive, "DELETEPDF", param);
|
|
return 0;
|
|
}
|
|
|
|
private int setStato(long idPdf, string idstato, string idProvenienza)
|
|
{
|
|
List<Parametro> param = new List<Parametro>();
|
|
param.Add(new Parametro { Value = idPdf, ParameterName = "idPdf" });
|
|
param.Add(new Parametro { Value = idstato, ParameterName = "idstato" });
|
|
param.Add(new Parametro { Value = idProvenienza, ParameterName = "idProvenienza" });
|
|
return (int)DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServerReportArchive, "SETSTATOPDF", param);
|
|
|
|
|
|
}
|
|
|
|
private List<DocumentoPdf> getPdf(RicercaPdf ricercaPdf) {
|
|
|
|
List<Parametro> param = new List<Parametro>();
|
|
param.Add(new Parametro { Value = ricercaPdf.IdPdf, ParameterName = "idPdf" });
|
|
param.Add(new Parametro { Value = ricercaPdf.ChiaveClientePb, ParameterName = "chiaveClientePb" });
|
|
param.Add(new Parametro { Value = ricercaPdf.ChiaveNucleo, ParameterName = "chiaveNucleo" });
|
|
param.Add(new Parametro { Value = ricercaPdf.CodiceContratto, ParameterName = "codiceContratto" });
|
|
param.Add(new Parametro { Value = ricercaPdf.CodicePb, ParameterName = "codicePb" });
|
|
if (ricercaPdf.DtFine < DateTime.MaxValue && ricercaPdf.DtFine > DateTime.MinValue)
|
|
param.Add(new Parametro { DbType=System.Data.DbType.DateTime, Value = ricercaPdf.DtFine, ParameterName = "dtFine" });
|
|
if (ricercaPdf.DtInizio < DateTime.MaxValue && ricercaPdf.DtInizio > DateTime.MinValue)
|
|
param.Add(new Parametro { DbType = System.Data.DbType.DateTime, Value = ricercaPdf.DtInizio, ParameterName = "dtInizio" });
|
|
param.Add(new Parametro { Value = ricercaPdf.IdArchivio, ParameterName = "idArchivio" });
|
|
param.Add(new Parametro { Value = RicercaPdf.idModelli(ricercaPdf.IdModello), ParameterName = "idModello" });
|
|
param.Add(new Parametro { Value = ricercaPdf.IdProvenienza, ParameterName = "idProvenienza" });
|
|
param.Add(new Parametro { Value = ricercaPdf.IdStato, ParameterName = "idStato" });
|
|
param.Add(new Parametro { Value = ricercaPdf.ChiaveProposta, ParameterName = "chiaveProposta" });
|
|
param.Add(new Parametro { Value = ricercaPdf.PropostaBase, ParameterName = "propostaBase" });
|
|
|
|
|
|
|
|
DataTable dt = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerReportArchive, "GETPDF", param);
|
|
|
|
List<DocumentoPdf> documentoPdf =
|
|
(from DataRow row in dt.Rows
|
|
group row by new
|
|
{
|
|
ChiaveNucleo = row["ChiaveNucleo"]!=DBNull.Value?long.Parse(row["ChiaveNucleo"].ToString()):0,
|
|
CodicePB = row["CodicePB"].ToString(),
|
|
IdArchivio = row["IdArchivio"].ToString(),
|
|
IdModello = row["IdModello"]!=DBNull.Value?int.Parse(row["IdModello"].ToString()):0,
|
|
IdPdf = row["IdPdf"] != DBNull.Value ? long.Parse(row["IdPdf"].ToString()) : 0,
|
|
IdStato = row["IdStato"].ToString(),
|
|
Note = row["Note"].ToString(),
|
|
//Image = null,
|
|
dtCreazione = DateTime.Parse(row["dtCreazione"].ToString()),
|
|
dtRestore = row["dtRestore"] != DBNull.Value ? DateTime.Parse(row["dtRestore"].ToString()) : new DateTime(),
|
|
dtEliminato = row["dtEliminato"] != DBNull.Value ? DateTime.Parse(row["dtRestore"].ToString()) : new DateTime()
|
|
} into doc
|
|
select new DocumentoPdf
|
|
{
|
|
ChiaveNucleo = doc.Key.ChiaveNucleo,
|
|
CodicePB = doc.Key.CodicePB,
|
|
IdArchivio = doc.Key.IdArchivio,
|
|
IdModello = doc.Key.IdModello,
|
|
IdPdf = doc.Key.IdPdf,
|
|
IdStato = doc.Key.IdStato,
|
|
Image = null,
|
|
Note = doc.Key.Note,
|
|
Clienti = (from DataRow rowC in dt.Rows
|
|
where long.Parse(rowC["idPdf"].ToString())==doc.Key.IdPdf
|
|
select new Cliente {
|
|
ChiaveClientePb = rowC["ChiaveClientePb"] != DBNull.Value ? long.Parse(rowC["ChiaveClientePb"].ToString()) : 0,
|
|
CodiceContratto = rowC["CodiceContratto"].ToString(),
|
|
ChiaveProposta = rowC["ChiaveProposta"] != DBNull.Value ? long.Parse(rowC["ChiaveProposta"].ToString()) : 0,
|
|
PropostaBase = rowC["PropostaBase"].ToString(),
|
|
}).ToList<Cliente>(),
|
|
dtCreazione = doc.Key.dtCreazione,
|
|
dtRestore = doc.Key.dtRestore,
|
|
dtEliminato = doc.Key.dtEliminato,
|
|
logPdf = getLogPdf(doc.Key.IdPdf)
|
|
}).ToList<DocumentoPdf>();
|
|
return documentoPdf;
|
|
}
|
|
|
|
}
|
|
}
|