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 System.Drawing; using System.Collections.Generic; using ceTe.DynamicPDF; using ReportVS; using ceTe.DynamicPDF.Merger; using LogFilePDF; public partial class archivioDocumenti : System.Web.UI.Page { private DataTable dtDg; public static bool b_sortCommand = true; public static string ordinamentoGriglia = string.Empty; public string codiceFiscale; //public int tpReport = 1; //e' la tipologia corrente di Report. Puo' variare a seconda del valore selezionato dalla ListBox public string codiceRete; public string codicePB; public string pathNav; public string utente; public string recordsCancellati; public string recordsDaCancellare; public string recordsArchiviati; public string recordsDaArchiviare; public int idCliente; public static DateTime dayA = new DateTime(); public static DateTime dayDa = new DateTime(); // private string tipologiaReportExt; //private HttpCookie ck_tipologiaReport = new HttpCookie("tipologiaReport"); private string lastUsedCF; private bool justOneCustomer = true; private string dayDaQ; private string dayAQ; private string rsd; private string rsp; private string nomeQ; private string cognomeQ; //variabile per gestione accesso archivio documenti private bool utenteHD_US; //variabile per tenere traccia del fatto che un report sia periodico oppure no DataTable hashPeriodico; //------------------------------------------------------------------------------------------ protected void Page_Load(object sender, System.EventArgs e) { utenteHD_US = GetUtenteAutorizzato.getAccessoPortaleAutorizzato(); // ***** 18/12/2008 Paolo Giovanetti modifiche accesso archivio documenti ***** //Caricamento combobox della tipologia report if (!Page.IsPostBack) { DataTable dt = getTipologiaReport(); //DataRow[] result = dt.Select("tpReport = 8"); //foreach (DataRow row in result) // dt.Rows.Remove(row); ddl_Modello.DataSource = dt; ddl_Modello.DataTextField = "DescrizioneEstesa"; ddl_Modello.DataValueField = "TpReport"; ddl_Modello.DataBind(); ddl_Modello.Items.Insert(0, new ListItem(string.Empty, "0")); } if (utenteHD_US) { if (!IsPostBack) { // sezione A: TODO txb_Rete.Enabled = false; txb_CodicePB.Enabled = false; txb_ClienteCF.Enabled = false; txb_ClienteCognome.Enabled = false; txb_ClienteNome.Enabled = false; ddl_Modello.Enabled = false; txt_contratto.Enabled = false; DatiHDUS datiHDUS = GetUtenteAutorizzato.getDatiHDUS(); txb_Rete.Text = datiHDUS.Rete; txb_CodicePB.Text = datiHDUS.CodicePB; txb_ClienteCF.Text = datiHDUS.CodiceFiscale; txb_ClienteCognome.Text = datiHDUS.CognomeCliente; txb_ClienteNome.Text = datiHDUS.NomeCliente; txt_contratto.Text = datiHDUS.CodiceContratto; ListItem lsTipoReport = ddl_Modello.Items.FindByValue(datiHDUS.TipoReport); if (lsTipoReport != null) ddl_Modello.Items.FindByValue(datiHDUS.TipoReport).Selected = true; else ddl_Modello.ClearSelection(); // sezione B: TODO // sezione C: Solo report di diagnosi e di monitoraggio -> rimuovo gli altri due ddl_Modello.Items.Remove(ddl_Modello.Items.FindByValue("2")); //Report di Pianificazione ddl_Modello.Items.Remove(ddl_Modello.Items.FindByValue("3")); //Report di Proposta //TODO: controllare ricerca senza selezione // sezione D: l'utente può accedere alle sole stampe definitive (lucchetto chiuso) chk_RicercaStampeDefinitive.Checked = true; chk_RicercaStampeDefinitive.Enabled = false; chk_RicercaStampeProvvisorie.Visible = false; btn_EliminaSelezionati.Visible = false; btn_Archivia.Visible = false; Image2.Visible = false; ddl_Modello.SelectedIndex = 0; if (lsTipoReport != null) fillDG(datiHDUS.CodiceFiscale); //string command = "parent.document.getElementById('TOP').src = parent.document.getElementById('TOP').src"; //// "alert(parent.document.getElementById('TOP').src);parent.document.getElementById('TOP').src='blank.aspx';alert(parent.document.getElementById('TOP').src);parent.document.getElementById('TOP').src='..\top.aspx';alert(parent.document.getElementById('TOP').src);"; // //?ReteHD='" + datiHDUS.Rete + "'&CodiceFiscaleHD='" + datiHDUS.CodiceFiscale; ////parent.document.getElementById('CENTER').src='ArchivioDocumenti.aspx //ClientScript.RegisterClientScriptBlock(typeof(string), "pppppp", ""); } string command = "SimpleContextMenu.setup({'preventDefault':true, 'preventForms':false});SimpleContextMenu.attach('container', 'CM1');"; ClientScript.RegisterClientScriptBlock(typeof(string), "pppppp", ""); // ***** Fine 18/12/2008 Paolo Giovanetti modifiche accesso archivio documenti ***** } else { HomePage.Visible = false; ////lettura del valore UTENTE dal cookie pathNav = Request.QueryString.Get("pathNav"); recordsCancellati = Request.QueryString.Get("deleted"); recordsDaCancellare = Request.QueryString.Get("toBeDeleted"); recordsArchiviati = Request.QueryString.Get("archived"); recordsDaArchiviare = Request.QueryString.Get("toBeArchived"); codiceFiscale = Request.QueryString.Get("codcliente"); codiceRete = Request.QueryString.Get("tipoRete"); codicePB = Request.QueryString.Get("codPB"); utente = codiceRete + codicePB; if (!Page.IsPostBack) { //10/03/2009 txb_Rete.Enabled = false; txb_CodicePB.Enabled = false; txb_Rete.Text = Request.QueryString.Get("tipoRete"); txb_CodicePB.Text = Request.QueryString.Get("codPB"); dayAQ = Request.QueryString.Get("dayA"); dayDaQ = Request.QueryString.Get("dayDa"); rsd = Request.QueryString.Get("rsd"); rsp = Request.QueryString.Get("rsp"); nomeQ = Request.QueryString.Get("nome"); cognomeQ = Request.QueryString.Get("cognome"); ddl_Modello.SelectedValue = Request.QueryString.Get("tpReport"); if (dayAQ != null && dayAQ != "") this.txb_a.Text = dayAQ; if (dayDaQ != null && dayDaQ != "") this.txb_da.Text = dayDaQ; if (rsd != null && rsd != "") this.chk_RicercaStampeDefinitive.Checked = Convert.ToBoolean(rsd); if (rsp != null && rsp != "") this.chk_RicercaStampeProvvisorie.Checked = Convert.ToBoolean(rsp); if (nomeQ != null && nomeQ != "") this.txb_ClienteNome.Text = nomeQ; if (cognomeQ != null && cognomeQ != "") this.txb_ClienteCognome.Text = cognomeQ; string codiceReteAgente = codiceRete + codicePB; // rileggo solo se sono non sono stati archiviati o eliminati alcuni report. // questo perche nel btn_Archivia_Click e nel btn_EliminaSelezionati_Click viene fatto un redirect alla pagian stessa. Cliente cliente = null; bool AccessoNoSessioneAutorizzato = false; if (Request.QueryString.Get("CODPB") != null && !Request.QueryString.Get("CODPB").Trim().Equals("") && Request.QueryString.Get("TIPORETE") != null && !Request.QueryString.Get("TIPORETE").Trim().Equals("") && (Request.QueryString.Get("CODCLIENTE") == null || Request.QueryString.Get("CODCLIENTE").Trim().Equals("")) ) { AccessoNoSessioneAutorizzato = true; } if (!AccessoNoSessioneAutorizzato) cliente = Cliente.getCliente(codiceReteAgente, codiceFiscale); if (cliente != null) { if (cliente.Definizione == Cliente.TipoDefinizione.Fiduciaria) { this.Label3.Text = "Cognome/Codice fiduciante"; this.Label5.Text = "Cod. fiscale / P. IVA"; this.txb_ClienteCF.Text = cliente.PIVAFiduciaria; this.txb_ClienteCognome.Text = cliente.Cognome + " - " + cliente.CodiceMandatoFiduciaria; } else { this.txb_ClienteCognome.Text = cliente.Cognome.ToString(); this.txb_ClienteCF.Text = codiceFiscale; } this.txb_ClienteNome.Text = cliente.Nome.ToString().Replace("$", ""); } fillDG(codiceFiscale); if (Request.QueryString["indicePagina"] != null) { cambiaPagina(int.Parse(Request.QueryString["indicePagina"])); } } } switch (Request.QueryString.Get("operation")) { case "DOCUMENTDELETED": this.lbl_Message.Text = "Cancellati " + recordsCancellati + " documenti sui " + recordsDaCancellare + " da cancellare."; break; case "DOCUMENTARCHIVED": this.lbl_Message.Text = "Archiviati " + recordsArchiviati + " documenti sui " + recordsDaArchiviare + " da archiviare."; break; } } /// /// Recupera attraverso sp_getTipologiaReport le tipologie dei report. /// /// private DataTable getTipologiaReport() { DataTable dtTipologiaReport = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "sp_getTipologiaReport", null); return dtTipologiaReport; } private void dg_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) { if (b_sortCommand) { ordinamentoGriglia = e.SortExpression + " DESC"; b_sortCommand = false; } else { ordinamentoGriglia = e.SortExpression + " ASC"; b_sortCommand = true; } dg.DataSource = GetData(this.txb_ClienteCF.Text, ordinamentoGriglia); dg.DataBind(); } //------------------------------------------------------------------------------------------ public void dg_PageIndex(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { codiceFiscale = this.txb_ClienteCF.Text; dg.CurrentPageIndex = e.NewPageIndex; dg.DataSource = GetData(codiceFiscale, ordinamentoGriglia); dg.DataBind(); //cambiaPagina(e.NewPageIndex); } //------------------------------------------------------------------------------------------ private void cambiaPagina(int indicePagina) { codiceFiscale = this.txb_ClienteCF.Text; //fillDG(codiceFiscale); dg.CurrentPageIndex = indicePagina; dg.DataBind(); } private DataTable GetData(string codFiscale, string order) { DataTable dt = null; dt = GetData(codFiscale); DataView dv = new DataView(dt); dv.Sort = order; dt = dv.ToTable("Table"); return dt; } private DataTable GetData(string codFiscale) { List parametri = new List(); Parametro parametro; // se dalla combo tipologia modello non è stato selezionato nulla, // il parametro "tpReport" non viene passato alla stored per il recupero dati if (ddl_Modello.SelectedValue != "0") { parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = Convert.ToInt32(ddl_Modello.SelectedValue); parametro.ParameterName = "tpReport"; parametri.Add(parametro); } //// ***** 18/12/2008 Paolo Giovanetti modifiche accesso archivio documenti ***** //if (ddl_Modello.SelectedValue == "0" && utenteHD_US) //{ // parametro = new Parametro(); // parametro.DbType = DbType.Int32; // parametro.Value = 1; // parametro.ParameterName = "tpReportHD_US"; // parametri.Add(parametro); //} parametro = new Parametro(); parametro.DbType = DbType.AnsiString; if (string.IsNullOrEmpty(this.txt_contratto.Text)) parametro.Value = DBNull.Value; else parametro.Value = this.txt_contratto.Text; parametro.ParameterName = "codiceContratto"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.ParameterName = "tpReportHD_US"; parametri.Add(parametro); if (utenteHD_US) parametro.Value = 1; else parametro.Value = 0; // ***** fine 18/12/2008 Paolo Giovanetti modifiche accesso archivio documenti ***** parametro = new Parametro(); parametro.DbType = DbType.String; if (utente != null) parametro.Value = utente; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "utente"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; if (codFiscale != null && codFiscale != "") parametro.Value = codFiscale; else if (this.txb_ClienteCF.Text != "") parametro.Value = this.txb_ClienteCF.Text; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "codiceFiscale"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; if (this.txb_ClienteCognome.Text.Trim().Length > 0) if (codFiscale.Contains("@") && txb_ClienteCognome.Text.Contains("-")) parametro.Value = (this.txb_ClienteCognome.Text.Split('-'))[0].Trim(); else parametro.Value = this.txb_ClienteCognome.Text; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "cognome"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; if (this.txb_ClienteNome.Text.Trim().Length > 0) parametro.Value = this.txb_ClienteNome.Text; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "nome"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.DateTime; if (this.txb_da.Text != "") { dayDa = Convert.ToDateTime(this.txb_da.Text); parametro.Value = dayDa; } else parametro.Value = System.DBNull.Value; parametro.ParameterName = "dataDa"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.DateTime; if (this.txb_a.Text != "") { dayA = Convert.ToDateTime(this.txb_a.Text); TimeSpan ungiorno = new TimeSpan(1, 0, 0, 0); parametro.Value = dayA.Add(ungiorno); } else parametro.Value = System.DBNull.Value; parametro.ParameterName = "dataA"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Boolean; if (this.chk_RicercaStampeProvvisorie.Checked) parametro.Value = false; else if (this.chk_RicercaStampeDefinitive.Checked) parametro.Value = true; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "flagArchiviato"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Boolean; parametro.Value = this.chk_RicercaStampedaRichiedere.Checked; parametro.ParameterName = "flagStorico"; parametri.Add(parametro); DataTable dtDgData = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "sp_getAllDocumentsByFilters_new", parametri); hashPeriodico = dtDgData; return dtDgData; } protected void fillDG(string codFiscale) { //// Nel caso in cui il cliente è una fiduciaria imposto il codiceFiscale come FF@CodiceMandatoFiduciaria //if (codFiscale.Contains("@")) //{ // string codiceMandato = ""; // int pos = codFiscale.LastIndexOf("@"); // codiceMandato = codFiscale.Substring(pos + 1, codFiscale.Length - (pos + 1)); // codFiscale = "FF@" + codiceMandato; //} this.lbl_Message.Text = ""; DataTable dtDg = GetData(codFiscale); dg.CurrentPageIndex = 0; dg.DataSource = dtDg; dg.DataBind(); dg.Visible = true; this.lbl_Message.ForeColor = System.Drawing.Color.Black; this.lbl_Message.Text = "Sono stati trovati " + dtDg.Rows.Count + " documenti con il criterio di ricerca prescelto."; } //======================================================================= private int getClienteFromCodFiscale(string codFiscale) { List parametri = new List(); Parametro codiceCliente = new Parametro(); codiceCliente.DbType = DbType.String; codiceCliente.Value = codiceFiscale; codiceCliente.ParameterName = "codiceFiscale"; parametri.Add(codiceCliente); return (Int32)DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServer, "sp_getIdClienteFromCodFiscale", parametri); } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.dg.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dg_PageIndex); this.dg.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.dg_SortCommand); this.dg.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dg_ItemDataBound); } #endregion //------------------------------------------------------------------------------------------ private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { //se lo stato e' "archiviato" non e' possibile operare sul record if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { object fieldRichiestaInoltrata; Int16 statoBottoneRichiedi = 0; DataRowView drv = (DataRowView)e.Item.DataItem; if (Convert.ToBoolean(e.Item.Cells[2].Text)) { ((CheckBox)e.Item.FindControl("chk")).Visible = false; } //Recupero controlli HTML immagine ed ancora al documento: System.Web.UI.HtmlControls.HtmlAnchor linkDocumento = ((System.Web.UI.HtmlControls.HtmlAnchor)e.Item.Cells[11].FindControl("linkDocumento")); System.Web.UI.HtmlControls.HtmlImage imglinkDocumento = ((System.Web.UI.HtmlControls.HtmlImage)e.Item.Cells[11].FindControl("imgLinkDocumento")); if (e.Item.Cells[15].Text == "0") { //Download del documento già disponibile. imglinkDocumento.Src = "Images/PDF-Icon.jpg"; linkDocumento.Title = "Clicca per vedere il documento"; linkDocumento.HRef = "javascript:showPdf(" + e.Item.Cells[4].Text + "," + e.Item.Cells[16].Text + ",'" + codiceFiscale + "')"; } else { fieldRichiestaInoltrata = DataBinder.Eval(e.Item.DataItem, "RichiestaInoltrata"); if (fieldRichiestaInoltrata != System.DBNull.Value) { statoBottoneRichiedi = Convert.ToInt16(fieldRichiestaInoltrata); } if (statoBottoneRichiedi.Equals(0)) { //Richiesta di un documento non ancora disponibile. imglinkDocumento.Src = "Images/richiediDoc.jpg"; linkDocumento.Title = "Clicca per richiedere il documento"; linkDocumento.HRef = "richiediDocumenti.aspx?Nominativo=" + e.Item.Cells[6].Text + "&dtCreazione=" + e.Item.Cells[8].Text + "&identificativo=" + e.Item.Cells[4].Text + "&rete=" + e.Item.Cells[17].Text + "&codfis=" + e.Item.Cells[14].Text + "&pb=" + e.Item.Cells[5].Text + "&Tipo=" + e.Item.Cells[7].Text + "&token=" + Request.QueryString.Get("token") + "&checkPrivacy=" + Request.QueryString.Get("checkPrivacy") + "&pathNav=" + Request.QueryString.Get("pathNav") + "&ambiente=" + Request.QueryString.Get("ambiente") + ""; } else { //Richiesta già in corso. imglinkDocumento.Src = "Images/richiediDoc_disabilitata.jpg"; linkDocumento.Title = "Recupero documento in corso"; linkDocumento.HRef = ""; imglinkDocumento.Attributes.Add("onmouseover", "this.style.cursor='wait';"); imglinkDocumento.Attributes.Add("onmouseout", "this.style.cursor='default';"); } e.Item.ForeColor = System.Drawing.Color.Gray; } if (utenteHD_US) { e.Item.Attributes.Add("oncontextmenu", "javascript:ShowContextMenu(" + e.Item.ItemIndex + "," + e.Item.Cells[4].Text + ",1,'" + txb_Rete.Text.Trim() + "','" + txb_ClienteCF.Text.Trim() + "');"); } } } //------------------------------------------------------------------------------------------ protected bool checkIfAtLeastOneItemClicked() { bool rc = false; for (int i = 0; i < dg.Items.Count; i++) { if (((CheckBox)dg.Items[i].FindControl("chk")).Checked == true) { rc = true; break; } } return rc; } //===================================================================== protected void btn_EliminaSelezionati_Click(object sender, EventArgs e) { this.lbl_Message.Text = ""; bool rc = checkIfAtLeastOneItemClicked(); if (rc)//almeno 1 item deputato alla cancellazione.... { int docToDelete; int idRepository; int deleted = 0; int itemsToDelete = 0; //conto il numero dei modelli da cancellare for (int i = 0; i < dg.Items.Count; i++) { if (((CheckBox)dg.Items[i].FindControl("chk")).Checked == true && ((CheckBox)dg.Items[i].FindControl("chk")).Visible == true) { itemsToDelete++; } } for (int i = 0; i < dg.Items.Count; i++) { if (((CheckBox)dg.Items[i].FindControl("chk")).Checked == true) { docToDelete = Convert.ToInt32(dg.Items[i].Cells[4].Text); //campo nascosto con l'ID del Report da cancellare idRepository = Convert.ToInt32(dg.Items[i].Cells[16].Text); //campo nascosto con l'ID del Report da cancellare int retCode = deleteDocumentFromDB(docToDelete, idRepository); if (retCode != -1) { deleted++; } } } if (deleted == itemsToDelete) { lbl_Message.ForeColor = System.Drawing.Color.Black; } readData(null); if (justOneCustomer == true) { lastUsedCF = dg.Items[0].Cells[12].Text; if (codiceFiscale != lastUsedCF && lastUsedCF != string.Empty) codiceFiscale = lastUsedCF; justOneCustomer = false; } //else //{ // codiceFiscale = ""; //} string tipoDoc = dg.Items[0].Cells[6].Text; if (tipoDoc != null && tipoDoc != "") { HttpCookie ck_tipologiaReport = new HttpCookie("tipologiaReport"); ck_tipologiaReport.Value = tipoDoc.ToUpper(); Response.Cookies.Add(ck_tipologiaReport); } //Response.Redirect("archivioDocumenti.aspx?codiceFiscale=" + codiceFiscale + "&codiceRete=" + codiceRete + "&codicePB=" + codicePB + "&pathNav=" + pathNav + "&tpReport=" + tpReport + "&utente=" + utente + "&deleted=" + deleted + "&toBeDeleted=" + itemsToDelete + "&operation=DOCUMENTDELETED" + "&dayDa=" + txb_da.Text + "&dayA=" + txb_a.Text + "&rsd=" + this.chk_RicercaStampeDefinitive.Checked.ToString() + "&rsp=" + chk_RicercaStampeProvvisorie.Checked.ToString() + "&cognome=" + txb_ClienteCognome.Text + "&nome=" + txb_ClienteNome.Text); //Response.Redirect("archivioDocumenti.aspx?codiceFiscale=" + codiceFiscale + "&codiceRete=" + codiceRete + "&codicePB=" + codicePB + "&pathNav=" + pathNav + "&tpReport=" + ddl_Modello.SelectedValue + "&utente=" + utente + "&deleted=" + deleted + "&toBeDeleted=" + itemsToDelete + "&operation=DOCUMENTDELETED" + "&dayDa=" + txb_da.Text + "&dayA=" + txb_a.Text + "&rsd=" + this.chk_RicercaStampeDefinitive.Checked.ToString() + "&rsp=" + chk_RicercaStampeProvvisorie.Checked.ToString() + "&cognome=" + txb_ClienteCognome.Text + "&nome=" + txb_ClienteNome.Text); Response.Redirect("archivioDocumenti.aspx?codCliente=" + codiceFiscale + "&tipoRete=" + codiceRete + "&codPB=" + codicePB + "&pathNav=" + pathNav + "&tpReport=" + ddl_Modello.SelectedValue + "&utente=" + utente + "&deleted=" + deleted + "&toBeDeleted=" + itemsToDelete + "&operation=DOCUMENTDELETED" + "&dayDa=" + txb_da.Text + "&dayA=" + txb_a.Text + "&rsd=" + this.chk_RicercaStampeDefinitive.Checked.ToString() + "&rsp=" + chk_RicercaStampeProvvisorie.Checked.ToString() + "&cognome=" + txb_ClienteCognome.Text + "&nome=" + txb_ClienteNome.Text); } else { //this.lbl_Message.Text = "Attenzione. Selezionare almeno un DOCUMENTO da cancellare."; } } //===================================================================== private int deleteDocumentFromDB(int iddocument, int idrepository) { List parametri = new List(); Parametro parametro = new Parametro(); parametro.ParameterName = "idDocument"; parametro.Value = iddocument; parametro.DbType = DbType.Int32; parametri.Add(parametro); parametro = new Parametro(); parametro.ParameterName = "idRepository"; parametro.Value = idrepository; parametro.DbType = DbType.Int32; parametri.Add(parametro); return DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServer, "sp_deleteDocumentFromDB_ByIdDocument", parametri); } //===================================================================== protected void btn_Archivia_Click(object sender, EventArgs e) { this.lbl_Message.Text = ""; bool rc = checkIfAtLeastOneItemClicked(); if (rc)//almeno 1 item deputato alla archiviazione.... { int docToArchive; int archived = 0; int itemsToArchive = 0; string tipoReport = ""; //conto il numero dei modelli da cancellare for (int i = 0; i < dg.Items.Count; i++) { if (((CheckBox)dg.Items[i].FindControl("chk")).Checked == true && ((CheckBox)dg.Items[i].FindControl("chk")).Visible == true) { itemsToArchive++; } } for (int i = 0; i < dg.Items.Count; i++) { if (((CheckBox)dg.Items[i].FindControl("chk")).Checked == true) { docToArchive = Convert.ToInt32(dg.Items[i].Cells[4].Text); //campo nascosto con l'ID del Report da archiviare tipoReport = dg.Items[i].Cells[7].Text.ToUpper(); int retCode = archiveDocumentIntoDB(docToArchive, tipoReport); if (retCode != -1) { //VALERIO 10/03/2009 Aggancio il log GestoreLogPDF gl = new GestoreLogPDF(docToArchive); gl.scriviLog(EventLog.CambioStato_UnlockedLocked); // archived++; } } } if (archived == itemsToArchive) { lbl_Message.ForeColor = System.Drawing.Color.Black; } readData(null); if (justOneCustomer == true) { lastUsedCF = dg.Items[0].Cells[12].Text; if (codiceFiscale != lastUsedCF && lastUsedCF != string.Empty) codiceFiscale = lastUsedCF; justOneCustomer = false; } //else //{ // codiceFiscale = ""; //} string tipoDoc = dg.Items[0].Cells[6].Text; if (tipoDoc != null && tipoDoc != "") { HttpCookie ck_tipologiaReport = new HttpCookie("tipologiaReport"); ck_tipologiaReport.Value = tipoDoc.ToUpper(); Response.Cookies.Add(ck_tipologiaReport); } Response.Redirect("archivioDocumenti.aspx?codcliente=" + codiceFiscale + "&tipoRete=" + codiceRete + "&codPB=" + codicePB + "&pathNav=" + pathNav + "&tpReport=" + ddl_Modello.SelectedValue + "&utente=" + utente + "&archived=" + archived + "&toBeArchived=" + itemsToArchive + "&operation=DOCUMENTARCHIVED" + "&dayDa=" + txb_da.Text + "&dayA=" + txb_a.Text + "&rsd=" + this.chk_RicercaStampeDefinitive.Checked.ToString() + "&rsp=" + chk_RicercaStampeProvvisorie.Checked.ToString() + "&cognome=" + txb_ClienteCognome.Text + "&nome=" + txb_ClienteNome.Text); } else { //this.lbl_Message.Text = "Attenzione. Selezionare almeno un DOCUMENTO da ARCHIVIARE."; } } //===================================================================== private int archiveDocumentIntoDB(int docToArchive, string tipoReport) { //SOLO SE IL CLIENTE E' CONTRATTUALIZZATO //CTable tbl = new CTable(codiceFiscale, codicePB, codiceRete); //bool clienteConContrattoSEI = tbl.CustomerHasNoContrattoSEI(codicePB, codiceFiscale, codiceRete); bool clienteConContrattoSEI = Cliente.getCliente(codiceRete + codicePB, codiceFiscale).SottoscrizioneContrattoSei; int result = -1; DocumentPDF documentPDF = new DocumentPDF(); //PRIMA RECUPERO IL FILE PDF POI LO RIELABORO APPLICANDO LA PATCH PER CAMBIAMENTO DISCLAIMAR //VALERIO 10/03/2009 //Applico la patch dei disclaimer a tutti i report per i quali il cliente è CONTRATTUALIZZATO //if ((tipoReport == "DIAGNOSI") && (clienteConContrattoSEI) && (WebConfigParameter.getParameter("GestioneDisclaimerC6") == "SI")){ if (clienteConContrattoSEI && (WebConfigParameter.getParameter("GestioneDisclaimerC6") == "SI")) { result = documentPDF.patchAndArchive(docToArchive); } else { result = documentPDF.archive(docToArchive); } return result; } //===================================================================== protected void btn_Ricerca_Click(object sender, EventArgs e) { string rc = checkTypedData(); ordinamentoGriglia = string.Empty; codiceFiscale = txb_ClienteCF.Text; if (rc == "") { dg.DataSource = null; dg.DataBind(); if (txb_ClienteCF.Text.Length == 11) fillDG(Request.QueryString.Get("codcliente")); else fillDG(txb_ClienteCF.Text); } else { this.lbl_Message.ForeColor = System.Drawing.Color.Red; this.lbl_Message.Text = rc; } } //===================================================================== private string checkTypedData() { string rc = ""; bool rcode; Validation vld = new Validation(); if (this.txb_ClienteCF.Text != "") { if (txb_ClienteCF.Text.Length != 11) rcode = vld.IsValidCF(this.txb_ClienteCF.Text); else rcode = true; if (!rcode) rc = "Attenzione. Codice Fiscale NON valido."; } if (this.txb_da.Text != "") { rcode = vld.IsData(this.txb_da.Text); if (!rcode) rc = "Attenzione. Data di inizio periodo NON valida."; } if (this.txb_a.Text != "") { rcode = vld.IsData(this.txb_a.Text); if (!rcode) rc = "Attenzione. Data di fine periodo NON valida."; } if (this.txb_a.Text != "" && this.txb_da.Text != "" && rc == "") { if (Convert.ToDateTime(this.txb_a.Text) < Convert.ToDateTime(this.txb_da.Text)) { rc = "Attenzione. Data di fine periodo inferiore alla data di inizio periodo."; } } return rc; } //===================================================================== protected void imgCalendar_Da_Click(object sender, ImageClickEventArgs e) { this.cldSF_da.Visible = !this.cldSF_da.Visible; this.cldSF_a.Visible = false; } //====================================================================== protected void imgCalendar_a_Click(object sender, ImageClickEventArgs e) { this.cldSF_a.Visible = !this.cldSF_a.Visible; this.cldSF_da.Visible = false; } //====================================================================== protected void cldSF_da_SelectionChanged(object sender, EventArgs e) { dayDa = this.cldSF_da.SelectedDate; this.txb_da.Text = this.cldSF_da.SelectedDate.ToShortDateString(); this.cldSF_da.Visible = false; } //====================================================================== protected void cldSF_a_SelectionChanged(object sender, EventArgs e) { dayA = this.cldSF_a.SelectedDate; this.txb_a.Text = this.cldSF_a.SelectedDate.ToShortDateString(); this.cldSF_a.Visible = false; } //====================================================================== protected void chk_RicercaStampeDefinitive_CheckedChanged(object sender, EventArgs e) { // this.chk_RicercaStampeProvvisorie.Checked = !this.chk_RicercaStampeDefinitive.Checked; if (this.chk_RicercaStampeDefinitive.Checked) { if (this.chk_RicercaStampeProvvisorie.Checked) this.chk_RicercaStampeProvvisorie.Checked = false; if (this.chk_RicercaStampedaRichiedere.Checked) this.chk_RicercaStampedaRichiedere.Checked = false; } } //======================================================================= protected void chk_RicercaStampeProvvisorie_CheckedChanged(object sender, EventArgs e) { //this.chk_RicercaStampeDefinitive.Checked = !this.chk_RicercaStampeProvvisorie.Checked; if (this.chk_RicercaStampeProvvisorie.Checked) { if (this.chk_RicercaStampeDefinitive.Checked) this.chk_RicercaStampeDefinitive.Checked = false; if (this.chk_RicercaStampedaRichiedere.Checked) this.chk_RicercaStampedaRichiedere.Checked = false; } } //======================================================================= protected void btn_Azzera_Click(object sender, EventArgs e) { if (utenteHD_US) { this.txb_da.Text = ""; this.txb_a.Text = ""; } else { this.chk_RicercaStampeDefinitive.Checked = false; this.chk_RicercaStampeProvvisorie.Checked = false; this.txb_da.Text = ""; this.txb_a.Text = ""; this.txb_ClienteCognome.Text = ""; this.txb_ClienteNome.Text = ""; this.txb_ClienteCF.Text = ""; this.cldSF_a.SelectedDate = new DateTime(1, 1, 1); this.cldSF_da.SelectedDate = new DateTime(1, 1, 1); this.ddl_Modello.SelectedIndex = 0; this.lbl_Message.Text = ""; } } //------------------------------------------------------------------------------------------ protected void readData(string codFiscale) { //check se ho un trovato 1 gruppo di clienti o 1 solo, in questo caso ho 1 CF valido List parametri = new List(); Parametro parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = Convert.ToInt32(ddl_Modello.SelectedValue); parametro.ParameterName = "tpReport"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; if (utente != null) parametro.Value = utente; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "utente"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; if (codFiscale != null && codFiscale != "") parametro.Value = codFiscale; else if (this.txb_ClienteCF.Text != "") parametro.Value = this.txb_ClienteCF.Text; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "codiceFiscale"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; if (this.txb_ClienteCognome.Text != null) parametro.Value = this.txb_ClienteCognome.Text; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "cognome"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; if (this.txb_ClienteNome.Text != null) parametro.Value = this.txb_ClienteNome.Text; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "nome"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.DateTime; if (this.txb_da.Text != "") { dayDa = Convert.ToDateTime(this.txb_da.Text); parametro.Value = dayDa; } else parametro.Value = System.DBNull.Value; parametro.ParameterName = "dataDa"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.DateTime; if (this.txb_a.Text != "") { dayA = Convert.ToDateTime(this.txb_a.Text); TimeSpan ungiorno = new TimeSpan(1, 0, 0, 0); parametro.Value = dayA; } else parametro.Value = System.DBNull.Value; parametro.ParameterName = "dataA"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Boolean; if (this.chk_RicercaStampeProvvisorie.Checked) parametro.Value = false; else if (this.chk_RicercaStampeDefinitive.Checked) parametro.Value = true; else parametro.Value = System.DBNull.Value; parametro.ParameterName = "flagArchiviato"; parametri.Add(parametro); DataTable dtDg = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "sp_getAllDocumentsByFilters_new", parametri); //justOneCustomer string lastCustomer = ""; string customer = ""; if (dtDg.Rows.Count > 0) { customer = dtDg.Rows[0]["Cognome"].ToString(); foreach (DataRow dr in dtDg.Rows) { lastCustomer = dr["Cognome"].ToString(); if (lastCustomer != customer) { justOneCustomer = false; break; } else { customer = lastCustomer; } } } } protected void HomePage_Click(object sender, EventArgs e) { Response.Redirect("RicercaHD.aspx"); } protected void chk_RicercaStampedaRichiedere_CheckedChanged(object sender, EventArgs e) { if (this.chk_RicercaStampedaRichiedere.Checked) { if (this.chk_RicercaStampedaRichiedere.Checked) { if (this.chk_RicercaStampeDefinitive.Checked) this.chk_RicercaStampeDefinitive.Checked = false; if (this.chk_RicercaStampeProvvisorie.Checked) this.chk_RicercaStampeProvvisorie.Checked = false; } } } private string __; public string _ { get { return __; } set { __ = value; } } }