using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using ContrattoSei.Utilities;


namespace LogFilePDF {
    class GestoreLogPDF_DAO {

        public static void scrivi(GestoreLogPDF logData, EventLog ev) {
            List<Parametro> parametri = new List<Parametro>();
            
            //Parametro p = new Parametro();
            //p.ParameterName = "Rete";
            //p.Value = logData.Rete;
            //parametri.Add(p);

            //p = new Parametro();
            //p.ParameterName = "Nome";
            //p.Value = logData.Nome;
            //parametri.Add(p);

            //p = new Parametro();
            //p.ParameterName = "Cognome";
            //p.Value = logData.Cognome;
            //parametri.Add(p);

            //p = new Parametro();
            //p.ParameterName = "PB";
            //p.Value = logData.Pb;
            //parametri.Add(p);

            Parametro p = new Parametro();
            p.ParameterName = "Applicativo";
            p.Value = logData.Applicativo;
            parametri.Add(p);

            p = new Parametro();
            p.ParameterName = "Tipo";
            p.Value = (int)ev;
            parametri.Add(p);

            p = new Parametro();
            p.ParameterName = "IDImage";

            if (logData.IdentificativoPdf > 0)
                p.Value = logData.IdentificativoPdf;
            else
                p.Value = DBNull.Value;
            parametri.Add(p);

            //p = new Parametro();
            //p.ParameterName = "cf";
            //p.Value = logData.Cf;
            //parametri.Add(p);


            //V CAZZATA DEGLI EGIZIANI il log � solo su RM mentre con questa cond per la trimestrale lo salvava su c6 che 
            //non c'� la stored
            //if (UtilityManager.getAppSetting("Periodico") != "1")
            //{
                DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServer, "dbo.writeLogPDF", parametri);
            //}
            //else
            //{
            //    DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServerStampeC6, "dbo.writeLogPDF", parametri);
            //}

            //DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServer, "dbo.writeLogPDF", parametri);
        }

        public static DataTable leggi(GestoreLogPDF logData) {
            
            List<Parametro> parametri = new List<Parametro>();
           
            Parametro p = new Parametro();
            p.ParameterName = "Rete";
            p.Value = logData.Rete;
            parametri.Add(p);

            p = new Parametro();
            p.ParameterName = "IDImage";
            p.Value = logData.IdentificativoPdf;
            parametri.Add(p);

            p = new Parametro();
            p.ParameterName = "cf";
            p.Value = logData.Cf;
            parametri.Add(p);

            //IDataReader dr = DataAccess.ExecuteDataReaderStoredProcedure(DBProvider.SqlServer, "dbo.readLogPDF", parametri);
            if (UtilityManager.getAppSetting("Periodico") != "1")
            {
                return DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "dbo.readLogPDF", parametri);
            }
            else
            {
                return DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerStampeC6, "dbo.readLogPDF", parametri);
            }
            
        }
    }

        
}