Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            modelloSelezionato = (SAAdminTool.DocsPaWR.Templates)Session["template"];
            lbl_titolo.Text    = "Campi Comuni - " + modelloSelezionato.DESCRIZIONE;

            string[]  amministrazione       = ((string)Session["AMMDATASET"]).Split('@');
            string    codiceAmministrazione = amministrazione[0];
            string    idAmministrazione     = Utils.getIdAmmByCod(codiceAmministrazione, this);
            ArrayList listaTemplates        = new ArrayList(ProfilazioneDocManager.getTemplates(idAmministrazione, this));

            for (int i = 0; i < listaTemplates.Count; i++)
            {
                SAAdminTool.DocsPaWR.Templates modello = (SAAdminTool.DocsPaWR.Templates)listaTemplates[i];
                if (modello.IPER_FASC_DOC == "1")
                {
                    modelloIperdocumento = ProfilazioneDocManager.getTemplateById(modello.SYSTEM_ID.ToString(), this);
                    break;
                }
            }

            if (!IsPostBack)
            {
                caricaDg();
                impostaSelezioneCampiComuni();
            }
        }
Exemplo n.º 2
0
 protected void ddl_tipologiaDoc_SelectedIndexChanged(object sender, System.EventArgs e)
 {
     if (string.IsNullOrEmpty(ddl_tipologiaDoc.SelectedValue))
     {
         Session.Remove("template");
         panel_Contenuto.Controls.Clear();
         this.panel_Contenuto.Visible = false;
         this.pnl_RFAOO.Visible       = false;
         this.pnlAnno.Visible         = false;
         this.pnlNumero.Visible       = false;
     }
     else
     {
         //this.TxtAnno.Visible = true;
         //this.lblAnno.Visible = true;
         this.pnlAnno.Visible         = true;
         this.panel_Contenuto.Visible = true;
         this.pnl_RFAOO.Visible       = true;
         this.ddlAooRF.Visible        = false;
         this.lblAooRF.Visible        = false;
         this.pnlNumero.Visible       = true;
         this.TxtAnno.Text            = "";
         string             idTemplate         = ddl_tipologiaDoc.SelectedValue;
         DocsPaWR.Templates templateInSessione = (DocsPaWR.Templates)Session["template"];
         if (!string.IsNullOrEmpty(idTemplate) && templateInSessione != null && !string.IsNullOrEmpty(templateInSessione.SYSTEM_ID.ToString()))
         {
             if (ddl_tipologiaDoc.SelectedValue != templateInSessione.SYSTEM_ID.ToString())
             {
                 Session.Remove("template");
                 panel_Contenuto.Controls.Clear();
             }
             panel_Contenuto.Controls.Clear();
         }
         if (idTemplate != "")
         {
             DocsPaWR.Templates template = ProfilazioneDocManager.getTemplateById(idTemplate, this);
             if (template != null)
             {
                 Session.Add("template", template);
                 //pnl_RFAOO.Visible = false;
                 ddlAooRF.Items.Clear();
                 inizializzaPanelContenuto();
                 this.TxtAnno.Visible = true;
                 this.TxtAnno.Text    = "";
                 this.lblAnno.Visible = true;
             }
             else
             {
                 pnl_RFAOO.Visible = false;
             }
         }
     }
 }
Exemplo n.º 3
0
        protected void removeTemplateFields(string system_id)
        {
            // Lista dei campi definiti per la griglia attuale
            List <Field> fields;

            // Template da rimuovere
            Templates template;

            // Caricamento del template
            if (this.TemporaryGrid.GridType == GridTypeEnumeration.Project)
            {
                template = ProfilazioneFascManager.getTemplateFascById(system_id, this);
            }
            else
            {
                template = ProfilazioneDocManager.getTemplateById(system_id, this);
            }

            // Inizializzazione della lista dei campi del template
            fields = new List <Field>(this.TemporaryGrid.Fields);

            // Rimozione dalla lista dei campi, dei campi presenti nel template
            foreach (OggettoCustom obj in template.ELENCO_OGGETTI)
            {
                Field tempField = fields.Where(f => f.CustomObjectId.Equals(obj.SYSTEM_ID) && f.AssociatedTemplateId != null && f.AssociatedTemplateId.Equals(template.SYSTEM_ID.ToString())).FirstOrDefault();
                if (tempField != null)
                {
                    fields.Remove(tempField);
                }
            }

            // Rimozione dell'id template dalla lista dei template
            if (this.TemporaryGrid.TemplatesId != null)
            {
                List <String> temp = new List <string>(this.TemporaryGrid.TemplatesId);
                temp.Remove(template.SYSTEM_ID.ToString());
                this.TemporaryGrid.TemplatesId = temp.ToArray();
            }

            // Rinumerazione della posizione occupata dai campi
            for (int i = 0; i < fields.Count; i++)
            {
                fields[i].Position = i;
            }

            // Impostazione della lista dei campi
            this.TemporaryGrid.Fields = fields.ToArray();
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Utils.startUp(this);
            if (!IsPostBack && !SiteNavigation.CallContextStack.CurrentContext.IsBack)
            {
                SiteNavigation.CallContextStack.CurrentContext.ContextState.Remove("template_CC_Doc");
                SiteNavigation.CallContextStack.CurrentContext.ContextState.Remove("template_CC_Fasc");

                //Recupero il template Campi Comuni Documenti
                ArrayList templatesDocumenti = ProfilazioneDocManager.getTemplates(UserManager.getInfoUtente(this).idAmministrazione, this);
                foreach (DocsPAWA.DocsPaWR.Templates templateDoc in templatesDocumenti)
                {
                    if (templateDoc.IPER_FASC_DOC == "1")
                    {
                        template_CC_Doc = ProfilazioneDocManager.getTemplateById(templateDoc.SYSTEM_ID.ToString(), this);
                        SiteNavigation.CallContextStack.CurrentContext.ContextState.Add("template_CC_Doc", template_CC_Doc);
                        inserisciComponenti(template_CC_Doc, "PNL_DOC");
                    }
                }

                //Recupero il template Campi Comuni Fascicoli
                ArrayList templatesFascicoli = ProfilazioneFascManager.getTemplatesFasc(UserManager.getInfoUtente(this).idAmministrazione, this);
                foreach (DocsPAWA.DocsPaWR.Templates templateFasc in templatesFascicoli)
                {
                    if (templateFasc.IPER_FASC_DOC == "1")
                    {
                        template_CC_Fasc = ProfilazioneFascManager.getTemplateFascById(templateFasc.SYSTEM_ID.ToString(), this);
                        SiteNavigation.CallContextStack.CurrentContext.ContextState.Add("template_CC_Fasc", template_CC_Fasc);
                        inserisciComponenti(template_CC_Fasc, "PNL_FASC");
                    }
                }
            }
            else
            {
                if (SiteNavigation.CallContextStack.CurrentContext.ContextState["template_CC_Doc"] != null && SiteNavigation.CallContextStack.CurrentContext.ContextState["template_CC_Fasc"] != null)
                {
                    template_CC_Doc = ((DocsPAWA.DocsPaWR.Templates)SiteNavigation.CallContextStack.CurrentContext.ContextState["template_CC_Doc"]);
                    inserisciComponenti(((DocsPAWA.DocsPaWR.Templates)SiteNavigation.CallContextStack.CurrentContext.ContextState["template_CC_Doc"]), "PNL_DOC");
                    template_CC_Fasc = ((DocsPAWA.DocsPaWR.Templates)SiteNavigation.CallContextStack.CurrentContext.ContextState["template_CC_Fasc"]);
                    inserisciComponenti(((DocsPAWA.DocsPaWR.Templates)SiteNavigation.CallContextStack.CurrentContext.ContextState["template_CC_Fasc"]), "PNL_FASC");
                }
            }
        }
Exemplo n.º 5
0
        private void caricaListaCampiFascicoloPreesistente(DataTable dt, bool profilazione, bool esportazioneExcel)
        {
            //Aggiungo i campi standar del fascicolo
            DataRow rw1 = dt.NewRow();

            rw1[0] = "1";
            rw1[1] = "0";
            rw1[2] = "Registro";
            rw1[3] = "P7";
            dt.Rows.Add(rw1);

            DataRow rw2 = dt.NewRow();

            rw2[0] = "1";
            rw2[1] = "0";
            rw2[2] = "Tipo";
            rw2[3] = "P1";
            dt.Rows.Add(rw2);

            DataRow rw3 = dt.NewRow();

            rw3[0] = "1";
            rw3[1] = "0";
            rw3[2] = "Codice";
            rw3[3] = "P3";
            dt.Rows.Add(rw3);

            DataRow rw4 = dt.NewRow();

            rw4[0] = "1";
            rw4[1] = "0";
            rw4[2] = "Descrizione";
            rw4[3] = "P4";
            dt.Rows.Add(rw4);

            DataRow rw5 = dt.NewRow();

            rw5[0] = "1";
            rw5[1] = "0";
            rw5[2] = "Data Apertura";
            rw5[3] = "P5";
            dt.Rows.Add(rw5);

            DataRow rw6 = dt.NewRow();

            rw6[0] = "1";
            rw6[1] = "0";
            rw6[2] = "Data Chiusura";
            rw6[3] = "P6";
            dt.Rows.Add(rw6);

            DataRow rw7 = dt.NewRow();

            rw7[0] = "1";
            rw7[1] = "0";
            rw7[2] = "Collocazione Fisica";
            rw7[3] = "P22";
            dt.Rows.Add(rw7);

            DataRow rw8 = dt.NewRow();

            rw8[0] = "1";
            rw8[1] = "0";
            rw8[2] = "Tipologia";
            rw8[3] = "U1";
            dt.Rows.Add(rw8);

            // Se è richiesta l'esportazione in excel...
            if (esportazioneExcel)
            {
                // ...aggiungo il campo note
                DataRow rw9 = dt.NewRow();
                rw9[0] = "1";
                rw9[1] = "0";
                rw9[2] = "Note";
                rw9[3] = "P8";
                dt.Rows.Add(rw9);
            }

            //Verifico che si vogliono o meno visualizzare anche i campi del profilo di un fascicolo
            if (profilazione)
            {
                //Verifico che è stata selezionata una tipologia ed in caso affermativo
                //rendo possibile la selezione anche dei campi profilati dinamicamente
                DocsPAWA.DocsPaWR.FiltroRicerca[][] filtri = null;
                if (FascicoliManager.getFiltroRicFasc(null) != null)
                {
                    filtri = FascicoliManager.getFiltroRicFasc(null);
                }
                else
                {
                    filtri = FascicoliManager.getMemoriaFiltriRicFasc(null);
                }

                if (filtri != null)
                {
                    foreach (DocsPaWR.FiltroRicerca[] filtroUno in filtri)
                    {
                        foreach (DocsPaWR.FiltroRicerca filtroDue in filtroUno)
                        {
                            switch (filtroDue.argomento)
                            {
                            case "TIPOLOGIA_FASCICOLO":
                                DocsPaWR.Templates template = ProfilazioneDocManager.getTemplateById(filtroDue.valore, this);
                                foreach (DocsPaWR.OggettoCustom oggettoCustom in template.ELENCO_OGGETTI)
                                {
                                    DataRow rw = dt.NewRow();
                                    rw[0] = oggettoCustom.SYSTEM_ID;
                                    rw[1] = oggettoCustom.CAMPO_COMUNE;
                                    rw[2] = oggettoCustom.DESCRIZIONE;
                                    rw[3] = "A" + oggettoCustom.SYSTEM_ID;
                                    dt.Rows.Add(rw);
                                }
                                break;

                            case "CONTATORE_GRIGLIE_NO_CUSTOM":
                                DataRow rf = dt.NewRow();
                                rf[0] = "1";
                                rf[1] = "0";
                                rf[2] = "Contatore";
                                rf[3] = "CONTATORE";
                                dt.Rows.Add(rf);
                                break;
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 6
0
        private void CaricaListaCampiDocumentoPreesistente(DataTable dt, bool profilazione, bool esportazioneExcel)
        {
            //Aggiungo i campi standar del documento
            DataRow rw1 = dt.NewRow();

            rw1[0] = "1";
            rw1[1] = "0";
            rw1[2] = "Registro";
            rw1[3] = "D2";
            dt.Rows.Add(rw1);
            DataRow rw2 = dt.NewRow();

            rw2[0] = "1";
            rw2[1] = "0";
            rw2[2] = "Prot. / Id. Doc.";
            rw2[3] = "D1";
            dt.Rows.Add(rw2);
            DataRow rw3 = dt.NewRow();

            rw3[0] = "1";
            rw3[1] = "0";
            rw3[2] = "Data";
            rw3[3] = "D9";
            dt.Rows.Add(rw3);
            DataRow rw4 = dt.NewRow();

            rw4[0] = "1";
            rw4[1] = "0";
            rw4[2] = "Oggetto";
            rw4[3] = "D4";
            dt.Rows.Add(rw4);
            DataRow rw5 = dt.NewRow();

            rw5[0] = "1";
            rw5[1] = "0";
            rw5[2] = "Tipo";
            rw5[3] = "D3";
            dt.Rows.Add(rw5);
            DataRow rw6 = dt.NewRow();

            rw6[0] = "1";
            rw6[1] = "0";
            rw6[2] = "Mitt. / Dest.";
            rw6[3] = "D5";
            dt.Rows.Add(rw6);
            DataRow rw7 = dt.NewRow();

            rw7[0] = "1";
            rw7[1] = "0";
            rw7[2] = "Cod. Fascicoli";
            rw7[3] = "D18";
            dt.Rows.Add(rw7);
            DataRow rw8 = dt.NewRow();

            rw8[0] = "1";
            rw8[1] = "0";
            rw8[2] = "Annullato";
            rw8[3] = "D11";
            dt.Rows.Add(rw8);
            DataRow rw9 = dt.NewRow();

            rw9[0] = "1";
            rw9[1] = "0";
            rw9[2] = "File";
            rw9[3] = "D23";
            dt.Rows.Add(rw9);

            // Se è richiesta una esportazione excel...
            if (esportazioneExcel)
            {
                DataRow rw10 = dt.NewRow();
                rw10[0] = "1";
                rw10[1] = "0";
                rw10[2] = "Note";
                rw10[3] = "D17";
                dt.Rows.Add(rw10);
            }

            //Verifico che si vogliono o meno visualizzare anche i campi del profilo di documento
            if (profilazione)
            {
                //Verifico che è stata selezionata una tipologia ed in caso affermativo
                //rendo possibile la selezione anche dei campi profilati dinamicamente
                DocsPAWA.DocsPaWR.FiltroRicerca[][] filtri = null;
                if (DocumentManager.getFiltroRicDoc(null) != null)
                {
                    filtri = DocumentManager.getFiltroRicDoc(null);
                }
                else
                {
                    filtri = DocumentManager.getMemoriaFiltriRicDoc(null);
                }

                if (filtri == null)
                {
                    filtri = (DocsPAWA.DocsPaWR.FiltroRicerca[][])HttpContext.Current.Session["ricFasc.listaFiltri"];
                }

                if (this.docInFasc)
                {
                    if (CallContextStack.CurrentContext != null && CallContextStack.CurrentContext.ContextState["SearchFilters"] != null)
                    {
                        filtri = CallContextStack.CurrentContext.ContextState["SearchFilters"] as FiltroRicerca[][];
                    }
                }

                if (filtri != null)
                {
                    foreach (DocsPaWR.FiltroRicerca[] filtroUno in filtri)
                    {
                        foreach (DocsPaWR.FiltroRicerca filtroDue in filtroUno)
                        {
                            switch (filtroDue.argomento)
                            {
                            case "TIPO_ATTO":
                                DocsPaWR.Templates template = ProfilazioneDocManager.getTemplateById(filtroDue.valore, this);
                                foreach (DocsPaWR.OggettoCustom oggettoCustom in template.ELENCO_OGGETTI)
                                {
                                    DataRow rw = dt.NewRow();
                                    rw[0] = oggettoCustom.SYSTEM_ID;
                                    rw[1] = oggettoCustom.CAMPO_COMUNE;
                                    rw[2] = oggettoCustom.DESCRIZIONE;
                                    rw[3] = "A" + oggettoCustom.SYSTEM_ID;
                                    dt.Rows.Add(rw);
                                }
                                break;

                            case "CONTATORE_GRIGLIE_NO_CUSTOM":
                                DataRow rf = dt.NewRow();
                                rf[0] = "1";
                                rf[1] = "0";
                                rf[2] = "Contatore";
                                rf[3] = "CONTATORE";
                                dt.Rows.Add(rf);
                                break;
                            }
                        }
                    }
                }
            }
        }
        //Se il contatore è di tipo AOO o rf recupera la lista di AOO o la lista di rf
        //e li inserisci nella dropdownlist ddlAooRF
        private void ddl_Contatori_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (ddl_Contatori.SelectedValue == "")
            {
                this.lblAooRF.Visible = false;
            }
            ddlAooRF.Items.Clear();
            //this.pnl_RFAOO.Visible = false;
            this.panel_Contenuto.Visible = true;
            this.pnl_RFAOO.Visible       = true;
            this.pnlAnno.Visible         = true;
            this.pnlNumero.Visible       = true;
            this.txt_anno.Text           = "";
            this.txt_numero.Text         = "";
            Session["aoo_rf"]            = "";

            Session.Remove("template");
            string idTemplate = ddl_tipologiaDoc.SelectedValue;

            DocsPaWR.Templates template = ProfilazioneDocManager.getTemplateById(idTemplate, this);
            Session.Add("template", template);

            template.ELENCO_OGGETTI.Where(o => o.TIPO.DESCRIZIONE_TIPO == "Contatore");
            foreach (SAAdminTool.DocsPaWR.OggettoCustom oggetto in template.ELENCO_OGGETTI)
            {
                if (oggetto.DESCRIZIONE.Equals(""))
                {
                    return;
                }

                if (oggetto.SYSTEM_ID.ToString().Equals(ddl_Contatori.SelectedItem.Value))
                {
                    //da verificare,perchè non ho il ruolo utente (amm)----dimitri
                    // DocsPaWR.Ruolo ruoloUtente = UserManager.getRuolo(this);

                    DocsPaWR.OrgRegistro[] registriRfVisibili = this.GetRegistriAmministrazione();
                    this.pnl_RFAOO.Visible = false;
                    this.lblAooRF.Visible  = true;


                    //da verificare,perchè non ho il ruolo utente (amm)----dimitri
                    switch (oggetto.TIPO_CONTATORE)
                    {
                    case "T":
                        this.pnl_RFAOO.Visible = false;
                        break;

                    case "A":
                        lblAooRF.Text = "&nbsp;AOO";
                        ////Aggiungo un elemento vuoto
                        ListItem it = new ListItem();
                        it.Value = "";
                        it.Text  = "";
                        ddlAooRF.Items.Add(it);
                        //Distinguo se è un registro o un rf
                        registriRfVisibili.Where(r => r.chaRF == "0");
                        foreach (DocsPaWR.OrgRegistro r in registriRfVisibili)
                        {
                            ListItem item = new ListItem();

                            item.Value = r.IDRegistro;
                            item.Text  = r.Codice;
                            ddlAooRF.Items.Add(item);
                        }
                        ddlAooRF.Width         = 100;
                        this.pnl_RFAOO.Visible = true;
                        this.ddlAooRF.Visible  = true;
                        break;

                    case "R":
                        lblAooRF.Text = "&nbsp;RF";
                        ////Aggiungo un elemento vuoto
                        ListItem it_1 = new ListItem();
                        it_1.Value = "";
                        it_1.Text  = "";
                        ddlAooRF.Items.Add(it_1);
                        //Distinguo se è un registro o un rf
                        registriRfVisibili.Where(r => r.chaRF == "1" && r.rfDisabled == "0");
                        foreach (DocsPaWR.OrgRegistro r in registriRfVisibili)
                        {
                            ListItem item = new ListItem();

                            item.Value = r.IDRegistro;
                            item.Text  = r.Codice;
                            ddlAooRF.Items.Add(item);
                        }
                        ddlAooRF.Width         = 100;
                        this.pnl_RFAOO.Visible = true;
                        this.ddlAooRF.Visible  = true;
                        break;
                    }
                }
                else
                {
                    // poichè la ricerca deve essere fatta per un solo contatore, metto a
                    // stringa vuota il valore di tutti gli altri oggetti del template
                    oggetto.VALORE_DATABASE = string.Empty;
                }
            }
        }
Exemplo n.º 8
0
        protected void addTemplateFields(string system_id)
        {
            // Dettagli del template da aggiungere
            Templates template;

            // Lista dei diritti del ruolo suoi campi
            AssDocFascRuoli[] right;

            // Lista dei campi presenti nella griglia
            List <Field> fields;


            // Creazione della lista dei campi presenti nella griglia
            fields = new List <Field>(this.TemporaryGrid.Fields);

            // Caricamento del template
            if (this.TemporaryGrid.GridType == GridTypeEnumeration.Project)
            {
                template = ProfilazioneFascManager.getTemplateFascById(system_id, this);
                right    = (AssDocFascRuoli[])ProfilazioneFascManager.getDirittiCampiTipologiaFasc(UserManager.getRuolo().idGruppo, system_id, this).ToArray(typeof(AssDocFascRuoli));
            }
            else
            {
                template = ProfilazioneDocManager.getTemplateById(system_id, this);
                right    = (AssDocFascRuoli[])ProfilazioneDocManager.getDirittiCampiTipologiaDoc(UserManager.getRuolo().idGruppo, system_id, this).ToArray(typeof(AssDocFascRuoli));
            }

            // Ricalcolo degli indici posizionali dei campi
            int nextPosition = 0;

            for (nextPosition = 0; nextPosition < fields.Count; nextPosition++)
            {
                fields[nextPosition].Position = nextPosition;
            }

            foreach (OggettoCustom obj in template.ELENCO_OGGETTI)
            {
                AssDocFascRuoli ro     = right.Where(o => o.ID_OGGETTO_CUSTOM == obj.SYSTEM_ID.ToString() && o.VIS_OGG_CUSTOM == "1").FirstOrDefault();
                bool            number = false;
                // Se la griglia non contiene già un campo con system id pari a quello
                // che si sta tentando di inserire, viene inserito
                if (fields.Where(f => f.CustomObjectId == obj.SYSTEM_ID).Count() == 0 && ro != null)
                {
                    if (obj.TIPO.DESCRIZIONE_TIPO.ToUpper() == "CONTATORE")
                    {
                        number = true;
                    }
                    fields.Add(new Field()
                    {
                        FieldId                = String.Format("T{0}", obj.SYSTEM_ID),
                        Label                  = obj.DESCRIZIONE,
                        OriginalLabel          = obj.DESCRIZIONE,
                        Visible                = false,
                        CanAssumeMultiValues   = obj.TIPO.DESCRIZIONE_TIPO.ToUpper().Equals("CASELLADISELEZIONE"),
                        IsTruncable            = true,
                        CustomObjectId         = obj.SYSTEM_ID,
                        AssociatedTemplateName = template.DESCRIZIONE,
                        AssociatedTemplateId   = template.SYSTEM_ID.ToString(),
                        //MaxLength = 100,
                        // Default a 100
                        MaxLength             = -1,
                        Width                 = 100,
                        Position              = nextPosition++,
                        OracleDbColumnName    = obj.SYSTEM_ID.ToString(),
                        SqlServerDbColumnName = obj.SYSTEM_ID.ToString(),
                        IsCommonField         = !String.IsNullOrEmpty(obj.CAMPO_COMUNE) && obj.CAMPO_COMUNE == "1",
                        IsNumber              = number
                    });
                }
            }

            // Impostazione della nuova lista dei campi per la griglia attuale
            this.TemporaryGrid.Fields = fields.ToArray();
            List <String> idTemplates = new List <String>();

            if (this.TemporaryGrid.TemplatesId != null)
            {
                idTemplates.AddRange(this.TemporaryGrid.TemplatesId);
            }
            idTemplates.Add(template.SYSTEM_ID.ToString());
            this.TemporaryGrid.TemplatesId = idTemplates.ToArray();

            this.box_fields.Update();
        }
Exemplo n.º 9
0
        //Se il contatore è di tipo AOO o rf recupera la lista di AOO o la lista di rf
        //e li inserisci nella dropdownlist ddlAooRF
        private void ddl_Contatori_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (ddl_Contatori.SelectedValue == "")
            {
                this.lblAooRF.Visible = false;
            }
            ddlAooRF.Items.Clear();
            //this.pnl_RFAOO.Visible = false;
            this.panel_Contenuto.Visible = true;
            this.pnl_RFAOO.Visible       = true;
            this.pnlAnno.Visible         = true;
            this.pnlNumero.Visible       = true;
            this.TxtAnno.Text            = "";
            Session["aoo_rf"]            = "";

            Session.Remove("template");
            string idTemplate = ddl_tipologiaDoc.SelectedValue;

            DocsPaWR.Templates template = ProfilazioneDocManager.getTemplateById(idTemplate, this);
            Session.Add("template", template);

            // DocsPAWA.DocsPaWR.Templates template = (DocsPAWA.DocsPaWR.Templates)Session["template"];
            foreach (DocsPAWA.DocsPaWR.OggettoCustom oggetto in template.ELENCO_OGGETTI)
            {
                if (oggetto.TIPO.DESCRIZIONE_TIPO == "Contatore")
                {
                    if (oggetto.DESCRIZIONE.Equals(""))
                    {
                        return;
                    }

                    if (oggetto.SYSTEM_ID.ToString().Equals(ddl_Contatori.SelectedItem.Value))
                    {
                        DocsPaWR.Ruolo      ruoloUtente        = UserManager.getRuolo(this);
                        DocsPaWR.Registro[] registriRfVisibili = UserManager.getListaRegistriWithRF(ruoloUtente.systemId, "", "");
                        this.pnl_RFAOO.Visible = false;
                        this.lblAooRF.Visible  = true;
                        switch (oggetto.TIPO_CONTATORE)
                        {
                        case "T":
                            this.pnl_RFAOO.Visible = false;
                            break;

                        case "A":
                            lblAooRF.Text = "&nbsp;AOO";
                            ////Aggiungo un elemento vuoto
                            ListItem it = new ListItem();
                            it.Value = "";
                            it.Text  = "";
                            ddlAooRF.Items.Add(it);
                            //Distinguo se è un registro o un rf
                            for (int i = 0; i < registriRfVisibili.Length; i++)
                            {
                                ListItem item = new ListItem();
                                if (((DocsPaWR.Registro)registriRfVisibili[i]).chaRF == "0")
                                {
                                    item.Value = ((DocsPaWR.Registro)registriRfVisibili[i]).systemId;
                                    item.Text  = ((DocsPaWR.Registro)registriRfVisibili[i]).codRegistro;
                                    ddlAooRF.Items.Add(item);
                                }
                            }
                            ddlAooRF.Width         = 100;
                            this.pnl_RFAOO.Visible = true;
                            this.ddlAooRF.Visible  = true;
                            break;

                        case "R":
                            lblAooRF.Text = "&nbsp;RF";
                            ////Aggiungo un elemento vuoto
                            ListItem it_1 = new ListItem();
                            it_1.Value = "";
                            it_1.Text  = "";
                            ddlAooRF.Items.Add(it_1);
                            //Distinguo se è un registro o un rf
                            for (int i = 0; i < registriRfVisibili.Length; i++)
                            {
                                ListItem item = new ListItem();
                                if (((DocsPaWR.Registro)registriRfVisibili[i]).chaRF == "1" && ((DocsPaWR.Registro)registriRfVisibili[i]).rfDisabled == "0")
                                {
                                    item.Value = ((DocsPaWR.Registro)registriRfVisibili[i]).systemId;
                                    item.Text  = ((DocsPaWR.Registro)registriRfVisibili[i]).codRegistro;
                                    ddlAooRF.Items.Add(item);
                                }
                            }
                            ddlAooRF.Width         = 100;
                            this.pnl_RFAOO.Visible = true;
                            this.ddlAooRF.Visible  = true;
                            break;
                        }
                    }
                    else
                    {
                        // poichè la ricerca deve essere fatta per un solo contatore, metto a
                        // stringa vuota il valore di tutti gli altri oggetti del template
                        oggetto.VALORE_DATABASE = string.Empty;
                    }
                }
            }
        }