Beispiel #1
0
        public static void salvaModificaStato(string docNumber, string idStato, DiagrammaStato diagramma, string idUtente, InfoUtente user, string dataScadenza, Page page)
        {
            try
            {
                docsPaWS.salvaModificaStato(docNumber, idStato, diagramma, idUtente, user, dataScadenza);

                SchedaDocumento docSel = DocumentManager.getSelectedRecord();

                //Controllo che lo stato sia uno stato di conversione pdf lato server
                //In caso affermativo faccio partire la conversione
                if (utils.isEnableConversionePdfLatoServer() == "true" &&
                    docSel != null && docSel.documenti != null && !String.IsNullOrEmpty(docSel.documenti[0].fileName))
                {
                    DocsPaWR.Stato statoAttuale = DiagrammiManager.GetStateDocument(docNumber);
                    if (statoAttuale != null && statoAttuale.CONVERSIONE_PDF)
                    {
                        FileManager            fileManager   = new FileManager();
                        DocsPaWR.FileDocumento fileDocumento = fileManager.getFile(page);
                        if (fileDocumento != null && fileDocumento.content != null && fileDocumento.name != null && fileDocumento.name != "")
                        {
                            FileManager.EnqueueServerPdfConversion(UserManager.GetInfoUser(), fileDocumento.content, fileDocumento.name, DocumentManager.getSelectedRecord());
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
            }
        }
Beispiel #2
0
        private bool controllaStatiInizialiFinali(DocsPaWR.DiagrammaStato diagramma)
        {
            if (lbl_statiIniziali.Text != "" && lbl_statiFinali.Text != "" && diagramma != null)
            {
                ArrayList stati_Iniziali = new ArrayList();
                ArrayList statiFinali    = new ArrayList();

                for (int i = 0; i < diagramma.STATI.Length; i++)
                {
                    DocsPaWR.Stato st = (DocsPaWR.Stato)diagramma.STATI[i];
                    if (st.STATO_INIZIALE)
                    {
                        stati_Iniziali.Add(st);
                    }
                    if (st.STATO_FINALE)
                    {
                        statiFinali.Add(st);
                    }
                }

                for (int j = 0; j < stati_Iniziali.Count; j++)
                {
                    DocsPaWR.Stato stApp_1 = (DocsPaWR.Stato)stati_Iniziali[j];
                    for (int k = 0; k < statiFinali.Count; k++)
                    {
                        DocsPaWR.Stato stApp_2 = (DocsPaWR.Stato)statiFinali[k];
                        if (stApp_2.DESCRIZIONE.Trim().ToUpper() == stApp_1.DESCRIZIONE.Trim().ToUpper())
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
Beispiel #3
0
        private void InitializePage()
        {
            Fascicolo fasc = UIManager.ProjectManager.getProjectInSession();
            List <AssPhaseStatoDiagramma> phasesState = UIManager.DiagrammiManager.GetFaseDiagrammaByIdFase(this.StateDiagram.SYSTEM_ID.ToString(), this.SelectedPhaseId.ToString());

            DocsPaWR.Stato stato = DiagrammiManager.getStatoFasc(fasc.systemID);

            this.lblCurrentState.Text  = stato.DESCRIZIONE;
            this.lblSelectedPhase.Text = (phasesState[0].PHASE as DocsPaWR.Phases).DESCRIZIONE;

            List <string> idStatiSuccessiviSelezionabili = new List <string>();

            for (int i = 0; i < this.StateDiagram.PASSI.Length; i++)
            {
                DocsPaWR.Passo step = (DocsPaWR.Passo) this.StateDiagram.PASSI[i];
                if (step.STATO_PADRE.SYSTEM_ID == stato.SYSTEM_ID)
                {
                    for (int j = 0; j < step.SUCCESSIVI.Length; j++)
                    {
                        DocsPaWR.Stato st = (DocsPaWR.Stato)step.SUCCESSIVI[j];
                        if (DiagrammiManager.IsRuoloAssociatoStatoDia(this.StateDiagram.SYSTEM_ID.ToString(), UIManager.RoleManager.GetRoleInSession().idGruppo, st.SYSTEM_ID.ToString()))
                        {
                            if (!st.STATO_SISTEMA)
                            {
                                idStatiSuccessiviSelezionabili.Add(st.SYSTEM_ID.ToString());
                            }
                        }
                    }
                }
            }

            foreach (AssPhaseStatoDiagramma a in phasesState)
            {
                HtmlGenericControl divLinkStato = new HtmlGenericControl("DIV");

                if (!idStatiSuccessiviSelezionabili.Contains(a.STATO.SYSTEM_ID.ToString()))
                {
                    Label lbl = new Label();
                    lbl.Text = a.STATO.DESCRIZIONE;
                    lbl.ID   = a.STATO.SYSTEM_ID.ToString();
                    lbl.Attributes.Add("class", "disabled");
                    divLinkStato.Controls.Add(lbl);
                }
                else
                {
                    LinkButton lnk = new LinkButton();
                    lnk.Attributes.Add("href", "#");
                    lnk.Text     = a.STATO.DESCRIZIONE;
                    lnk.CssClass = "clickable";
                    lnk.ID       = a.STATO.SYSTEM_ID.ToString();
                    lnk.Attributes.Add("onclick", "$('#HiddenSelectedState').val('" + a.STATO.SYSTEM_ID + "'); disallowOp('ContentPlaceHolderContent');__doPostBack('UpPnlHiddenField');return false;");
                    divLinkStato.Controls.Add(lnk);
                }
                pnlCorrespondentStates.Controls.Add(divLinkStato);
            }
        }
Beispiel #4
0
 private bool controllaStatoFinale()
 {
     if (this.StateDiagram != null)
     {
         for (int i = 0; i < this.StateDiagram.STATI.Length; i++)
         {
             DocsPaWR.Stato st = (DocsPaWR.Stato) this.StateDiagram.STATI[i];
             if (st.SYSTEM_ID.ToString() == this.SelectedState.SYSTEM_ID.ToString() && st.STATO_FINALE)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Beispiel #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try {
                if (!IsPostBack)
                {
                    this.InitializeLanguage();
                    // Verifica se il documento è in stato checkout
                    bool isCheckedOut = CheckInOutServices.IsCheckedOutDocument();
                    //Verifica se il documento si trova nello stato finale
                    DocsPaWR.Stato statoDoc     = UIManager.DiagrammiManager.GetStateDocument(UIManager.DocumentManager.getSelectedRecord().docNumber);
                    bool           isFinalState = statoDoc != null ? statoDoc.STATO_FINALE : false;
                    //verifica se il documento deve essere ancora accettato a seguito di una trasmissione
                    bool isToAccept = UserManager.disabilitaButtHMDirittiTrasmInAccettazione(DocumentManager.getSelectedRecord().accessRights);
                    //verifico se il repertorio può essere eliminato
                    bool isNotCancel = isCheckedOut || isFinalState || isToAccept;

                    string language = UIManager.UserManager.GetUserLanguage();
                    // preparo l'eventuale motivo del mancato annullamento
                    if (isCheckedOut)
                    {
                        this.AbortCounterLliDesc.Text = Utils.Languages.GetLabelFromCode("ErroDocumentCheckOut", language) + "<br/>";
                    }
                    if (isFinalState)
                    {
                        this.AbortCounterLliDesc.Text = Utils.Languages.GetLabelFromCode("ErroDocumentFinaleState", language) + "<br/>";
                    }
                    if (isToAccept)
                    {
                        this.AbortCounterLliDesc.Text = Utils.Languages.GetLabelFromCode("ErroDocumentNotAccept", language) + "<br/>";
                    }

                    if (isNotCancel)
                    {
                        this.AbortCounterBtnOk.Enabled = false;
                    }
                    else
                    {
                        //    this.lbl_messageCheckOut.Style.Add("display", "none");
                        //    this.lbl_messageCheckOut_descrizione.Style.Add("display", "none");
                    }
                }
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return;
            }
        }
Beispiel #6
0
        private ArrayList trovaStatiIniziali()
        {
            //E' uno stato Iniziale, uno stato che non è mai usato come successivo
            ArrayList statiIniziali = new ArrayList();

            DocsPaWR.DiagrammaStato dg = (SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];

            if (dg.STATI != null)
            {
                for (int i = 0; i < dg.STATI.Length; i++)
                {
                    DocsPaWR.Stato st             = (SAAdminTool.DocsPaWR.Stato)dg.STATI[i];
                    bool           resultIniziale = true;

                    if (dg.PASSI != null)
                    {
                        for (int j = 0; j < dg.PASSI.Length; j++)
                        {
                            DocsPaWR.Passo step = (SAAdminTool.DocsPaWR.Passo)dg.PASSI[j];
                            if (step.SUCCESSIVI != null)
                            {
                                for (int k = 0; k < step.SUCCESSIVI.Length; k++)
                                {
                                    if (st.DESCRIZIONE == ((SAAdminTool.DocsPaWR.Stato)step.SUCCESSIVI[k]).DESCRIZIONE)
                                    {
                                        resultIniziale = false;
                                    }
                                }
                            }
                        }
                    }

                    if (resultIniziale)
                    {
                        statiIniziali.Add(st);
                        ((SAAdminTool.DocsPaWR.Stato)dg.STATI[i]).STATO_INIZIALE = true;
                    }
                    else
                    {
                        ((SAAdminTool.DocsPaWR.Stato)dg.STATI[i]).STATO_INIZIALE = false;
                    }
                }
            }
            return(statiIniziali);
        }
Beispiel #7
0
 private bool verificaEistenzaStato(string nomeStato)
 {
     if (Session["DiagrammaStato"] != null)
     {
         DocsPaWR.DiagrammaStato dg = (SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];
         if (dg.STATI != null)
         {
             for (int i = 0; i < dg.STATI.Length; i++)
             {
                 DocsPaWR.Stato st = (SAAdminTool.DocsPaWR.Stato)dg.STATI[i];
                 if (st.DESCRIZIONE == txt_descrizioneStato.Text)
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
Beispiel #8
0
 private void rimuoviStato(int stDaRimuovere)
 {
     if (((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).STATI != null)
     {
         ArrayList      stati            = new ArrayList(((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).STATI);
         DocsPaWR.Stato statoDaEliminare = (SAAdminTool.DocsPaWR.Stato)stati[stDaRimuovere];
         if (statoDaEliminare.STATO_INIZIALE)
         {
             lbl_statiIniziali.Text = "";
         }
         if (statoDaEliminare.STATO_FINALE)
         {
             lbl_statiFinali.Text = "";
         }
         stati.RemoveAt(stDaRimuovere);
         ((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).STATI = new SAAdminTool.DocsPaWR.Stato[stati.Count];
         stati.CopyTo(((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).STATI);
     }
 }
Beispiel #9
0
        protected void dg_Stati_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            int elSelezionato = e.Item.ItemIndex;

            DocsPaWR.Stato stato = sessionObj.Diagramma.STATI[elSelezionato];

            switch (e.CommandName)
            {
            case "VisibilitaRuoliStato":
                dg_Stati.SelectedIndex = elSelezionato;

                //Salvo la selezione dei diritti su gli stati
                salvaSelezioneStati();

                ScriptManager.RegisterStartupScript(this, this.GetType(), "VisRuoliFromStatoDiagramma",
                                                    "window.showModalDialog('DirittiRuoloStatoDiagramma.aspx?idStato=" + stato.SYSTEM_ID.ToString() + "&idDiagramma=" + sessionObj.Diagramma.SYSTEM_ID.ToString() +
                                                    "','','dialogWidth:800px;dialogHeight:400px;status:no;resizable:no;scroll:no;center:yes;help:no;close:no;');", true);
                break;
            }
        }
Beispiel #10
0
 /// <summary>
 /// Restituisce un booleano che indica per i documenti  tipizzati con diagramma di stato associato, se lo stato è finale o meno
 /// </summary>
 /// <param name="doc"></param>
 /// <returns></returns>
 public static bool IsDocumentInFinalState(string idDoc = "")
 {
     try
     {
         DocsPaWR.Stato state = null;
         if (string.IsNullOrEmpty(idDoc))
         {
             if (DocumentManager.getSelectedRecord() == null)
             {
                 return(false);
             }
             else
             {
                 state = docsPaWS.getStatoDoc(DocumentManager.getSelectedRecord().docNumber);
                 if (state != null && state.STATO_FINALE)
                 {
                     return(true);
                 }
                 else
                 {
                     return(false);
                 }
             }
         }
         state = docsPaWS.getStatoDoc(idDoc);
         if (state != null && state.STATO_FINALE)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (System.Exception ex)
     {
         UIManager.AdministrationManager.DiagnosticError(ex);
         return(false);
     }
 }
Beispiel #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            idOggetto = Request["idOggetto"];
            docNumber = Request["docNumber"];
            // Verifica se il documento è in stato checkout
            isCheckedOut = CheckInOutServices.IsCheckedOutDocument();
            //Verifica se il documento si trova nello stato finale
            DocsPaWR.Stato statoDoc = DocsPAWA.DiagrammiManager.getStatoDoc(docNumber, this.Page);
            isFinalState = statoDoc != null ? statoDoc.STATO_FINALE : false;
            //verifica se il documento deve essere ancora accettato a seguito di una trasmissione
            isToAccept = UserManager.disabilitaButtHMDirittiTrasmInAccettazione(DocumentManager.getDocumentoSelezionato().accessRights);
            //verifico se il repertorio può essere eliminato
            isNotCancel = isCheckedOut || isFinalState || isToAccept;
            // preparo l'eventuale motivo del mancato annullamento
            if (isCheckedOut)
            {
                this.lbl_messageCheckOut_descrizione.Text = "Il documento è in checked out" + "<br/>";
            }
            if (isFinalState)
            {
                this.lbl_messageCheckOut_descrizione.Text = "Il documento si trova nello stato finale" + "<br/>";
            }
            if (isToAccept)
            {
                this.lbl_messageCheckOut_descrizione.Text = "Il documento deve essere ancora accettato" + "<br/>";
            }

            if (isNotCancel)
            {
                this.lblAnnullamento.Style.Add("display", "none");
                this.txt_note_annullamento.Style.Add("display", "none");
                this.btn_ok.Style.Add("display", "none");
            }
            else
            {
                this.lbl_messageCheckOut.Style.Add("display", "none");
                this.lbl_messageCheckOut_descrizione.Style.Add("display", "none");
            }
        }
Beispiel #12
0
        private ArrayList trovaStatiFinali()
        {
            //E' uno stato Finale, uno stato senza stati successivi
            ArrayList statiFinali = new ArrayList();

            DocsPaWR.DiagrammaStato dg = (SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];

            if (dg.STATI != null)
            {
                for (int i = 0; i < dg.STATI.Length; i++)
                {
                    DocsPaWR.Stato st           = (SAAdminTool.DocsPaWR.Stato)dg.STATI[i];
                    bool           resultFinale = true;

                    if (dg.PASSI != null)
                    {
                        for (int j = 0; j < dg.PASSI.Length; j++)
                        {
                            DocsPaWR.Passo step = (SAAdminTool.DocsPaWR.Passo)dg.PASSI[j];
                            if (st.DESCRIZIONE == step.STATO_PADRE.DESCRIZIONE)
                            {
                                resultFinale = false;
                            }
                        }
                    }
                    if (resultFinale)
                    {
                        statiFinali.Add(st);
                        ((SAAdminTool.DocsPaWR.Stato)dg.STATI[i]).STATO_FINALE = true;
                    }
                    else
                    {
                        ((SAAdminTool.DocsPaWR.Stato)dg.STATI[i]).STATO_FINALE = false;
                    }
                }
            }
            return(statiFinali);
        }
Beispiel #13
0
 private void caricaDdlStati()
 {
     if (Session["DiagrammaStato"] != null)
     {
         DocsPaWR.DiagrammaStato dg = (SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];
         if (dg.STATI != null)
         {
             int elSelezionato = ddl_stati.SelectedIndex;
             ddl_stati.Items.Clear();
             for (int i = 0; i < dg.STATI.Length; i++)
             {
                 DocsPaWR.Stato st = (SAAdminTool.DocsPaWR.Stato)dg.STATI[i];
                 ListItem       li = new ListItem();
                 if (st.SYSTEM_ID != 0)
                 {
                     li.Value = Convert.ToString(st.SYSTEM_ID);
                 }
                 li.Text = st.DESCRIZIONE;
                 ddl_stati.Items.Add(li);
             }
             ddl_stati.SelectedIndex = elSelezionato;
         }
     }
 }
Beispiel #14
0
        private void setLbxStati1(SAAdminTool.DocsPaWR.Stato st, SAAdminTool.DocsPaWR.Stato[] successivi /*ArrayList successivi*/)
        {
            lbox_stati1.Items.Clear();
            DocsPaWR.DiagrammaStato dg = (SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];

            if (dg.STATI != null)
            {
                for (int i = 0; i < dg.STATI.Length; i++)
                {
                    lbox_stati1.Items.Add(((SAAdminTool.DocsPaWR.Stato)dg.STATI[i]).DESCRIZIONE);
                }
            }

            for (int i = 0; i < lbox_stati1.Items.Count; i++)
            {
                if (lbox_stati1.Items[i].Text == st.DESCRIZIONE)
                {
                    lbox_stati1.Items.RemoveAt(i);
                }
            }

            if (successivi != null)
            {
                for (int i = 0; i < successivi.Length; i++)
                {
                    DocsPaWR.Stato stApp = (SAAdminTool.DocsPaWR.Stato)successivi[i];
                    for (int j = 0; j < lbox_stati1.Items.Count; j++)
                    {
                        if (stApp.DESCRIZIONE == lbox_stati1.Items[j].Text)
                        {
                            lbox_stati1.Items.RemoveAt(j);
                        }
                    }
                }
            }
        }
Beispiel #15
0
        public void BindGrid(DocsPAWA.DocsPaWR.InfoDocumento[] infos)
        {
            DocsPaWR.InfoDocumento currentDoc;
            if (infos != null && infos.Length > 0)
            {
                this.SetMittDestColumnHeader();

                //Costruisco il datagrid
                Dg_elem = new ArrayList();
                string descrDoc = string.Empty;
                int    numProt  = new Int32();

                for (int i = 0; i < infos.Length; i++)
                {
                    currentDoc = ((DocsPAWA.DocsPaWR.InfoDocumento)infos[i]);
                    string dataApertura = "";



                    if (currentDoc.dataApertura != null && currentDoc.dataApertura.Length > 0)
                    {
                        dataApertura = currentDoc.dataApertura.Substring(0, 10);
                    }
                    if (currentDoc.numProt != null)
                    {
                        numProt = Int32.Parse(currentDoc.numProt);
                    }
                    else
                    {
                        numProt = Int32.Parse(currentDoc.docNumber);
                    }

                    descrDoc = numProt.ToString();

                    descrDoc = descrDoc + "\n" + dataApertura;

                    string MittDest = "";

                    if (currentDoc.mittDest != null && currentDoc.mittDest.Length > 0)
                    {
                        for (int g = 0; g < currentDoc.mittDest.Length; g++)
                        {
                            MittDest += currentDoc.mittDest[g] + " - ";
                        }
                        if (currentDoc.mittDest.Length > 0)
                        {
                            MittDest = MittDest.Substring(0, MittDest.Length - 3);
                        }
                    }

                    string newEtichetta = getEtichetta(currentDoc.tipoProto);

                    Dg_elem.Add(new Cols(descrDoc, currentDoc.oggetto, MittDest, newEtichetta, currentDoc.codRegistro, i, currentDoc.segnatura));
                }



                this.DataGrid1.DataSource = Dg_elem;
                this.DataGrid1.DataBind();

                string message = "";
                int    retValue;

                DocsPaWR.SchedaDocumento doc = DocumentManager.getDettaglioDocumento(this.Page, sys, sys);

                DocsPaWR.DiagrammaStato dg = null;

                // PALUMBO: se sono documenti tipizzati devo verificare se hanno diagrammi associati
                if (doc != null && doc.tipologiaAtto != null)
                {
                    dg = DocsPAWA.DiagrammiManager.getDgByIdTipoDoc(doc.tipologiaAtto.systemId, (UserManager.getInfoUtente(this)).idAmministrazione, this);

                    //PALUMBO: se hanno diagrammi associati verifico lo stato attuale
                    if (dg != null && doc.docNumber != null && doc.docNumber != "")
                    {
                        DocsPaWR.Stato stato = DocsPAWA.DiagrammiManager.getStatoDoc(doc.docNumber, this);
                        //PALUMBO: se lo stato è finale non consento la cancellazione della concatenazione presente
                        if ((stato != null) && (stato.STATO_FINALE))
                        {
                            for (int i = 0; i < infos.Length; i++)
                            {
                                currentDoc = ((DocsPAWA.DocsPaWR.InfoDocumento)infos[i]);
                                ((ImageButton)this.DataGrid1.Items[i].Cells[7].Controls[1]).Visible = false;
                            }
                        }
                        //PALUMBO: se lo stato NON è finale consento la cancellazione della concatenazione presente se verificaACL da OK (logica pre-esistente)
                        else
                        {
                            for (int i = 0; i < infos.Length; i++)
                            {
                                currentDoc = ((DocsPAWA.DocsPaWR.InfoDocumento)infos[i]);

                                retValue = DocumentManager.verificaACL("D", currentDoc.docNumber, UserManager.getInfoUtente(), out message);

                                if (retValue == 0)
                                {
                                    ((ImageButton)this.DataGrid1.Items[i].Cells[7].Controls[1]).Visible = false;
                                }
                            }
                        }
                    }
                }
                // PALUMBO: se sono Documenti non tipizzati (logica pre-esistente)
                else if (doc != null && doc.tipologiaAtto == null)
                {
                    for (int i = 0; i < infos.Length; i++)
                    {
                        currentDoc = ((DocsPAWA.DocsPaWR.InfoDocumento)infos[i]);

                        retValue = DocumentManager.verificaACL("D", currentDoc.docNumber, UserManager.getInfoUtente(), out message);

                        if (retValue == 0)
                        {
                            ((ImageButton)this.DataGrid1.Items[i].Cells[7].Controls[1]).Visible = false;
                        }
                    }
                }
                else
                {
                    this.lbl_message.Text    = "Documenti non trovati";
                    this.DataGrid1.Visible   = false;
                    this.lbl_message.Visible = true;
                }
            }
        }
        private static void CompletaCambioStatoDocumento(Page page)
        {
            InfoUtente      infoUtente = UIManager.UserManager.GetInfoUser();;
            SchedaDocumento docSel     = DocumentManager.getSelectedRecord();

            DocsPaWR.Stato statoAttuale = DiagrammiManager.GetStateDocument(docSel.docNumber);
            //Controllo che lo stato sia uno stato di conversione pdf lato server
            //In caso affermativo faccio partire la conversione
            if (utils.isEnableConversionePdfLatoServer() == "true" &&
                docSel != null && docSel.documenti != null && !String.IsNullOrEmpty(docSel.documenti[0].fileName))
            {
                if (statoAttuale.CONVERSIONE_PDF)
                {
                    FileManager            fileManager   = new FileManager();
                    DocsPaWR.FileDocumento fileDocumento = fileManager.getFile(page);
                    if (fileDocumento != null && fileDocumento.content != null && fileDocumento.name != null && fileDocumento.name != "")
                    {
                        FileManager.EnqueueServerPdfConversion(UserManager.GetInfoUser(), fileDocumento.content, fileDocumento.name, DocumentManager.getSelectedRecord());
                    }
                }
            }
            InfoDocumento infoDoc    = new InfoDocumento();
            Ruolo         role       = UIManager.RoleManager.GetRoleInSession();
            string        idTemplate = string.Empty;

            if (docSel.template != null)
            {
                idTemplate = docSel.template.SYSTEM_ID.ToString();
            }
            ArrayList modelli = new ArrayList(DiagrammiManager.isStatoTrasmAuto(infoUtente.idAmministrazione, statoAttuale.SYSTEM_ID.ToString(), idTemplate));

            for (int i = 0; i < modelli.Count; i++)
            {
                DocsPaWR.ModelloTrasmissione mod = (DocsPaWR.ModelloTrasmissione)modelli[i];
                if (mod.SINGLE == "1")
                {
                    infoDoc = DocumentManager.getInfoDocumento(docSel);
                    TrasmManager.effettuaTrasmissioneDocDaModello(mod, statoAttuale.SYSTEM_ID.ToString(), infoDoc, page);
                    if (mod.CEDE_DIRITTI != null && mod.CEDE_DIRITTI.Equals("1"))
                    {
                        docSel = DocumentManager.getDocumentDetails(page, docSel.systemId, docSel.docNumber);
                        DocumentManager.setSelectedRecord(docSel);
                    }
                }
                else
                {
                    for (int k = 0; k < mod.MITTENTE.Length; k++)
                    {
                        if (mod.MITTENTE[k].ID_CORR_GLOBALI.ToString() == role.systemId)
                        {
                            infoDoc = DocumentManager.getInfoDocumento(docSel);
                            TrasmManager.effettuaTrasmissioneDocDaModello(mod, statoAttuale.SYSTEM_ID.ToString(), infoDoc, page);
                            if (mod.CEDE_DIRITTI != null && mod.CEDE_DIRITTI.Equals("1"))
                            {
                                docSel = DocumentManager.getDocumentDetails(page, docSel.systemId, docSel.docNumber);
                                DocumentManager.setSelectedRecord(docSel);
                            }
                            break;
                        }
                    }
                }
            }
        }