示例#1
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);
            }
        }
示例#2
0
        private void dg_listaPassi_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            btn_modPasso.Visible = true;
            btn_addStep.Visible  = false;

            int elSelezionato = (dg_listaPassi.CurrentPageIndex * dg_listaPassi.PageSize) + dg_listaPassi.SelectedIndex;

            DocsPaWR.Passo step = (SAAdminTool.DocsPaWR.Passo)((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI[elSelezionato];
            setDllStati(step.STATO_PADRE);
            setLbxStati1(step.STATO_PADRE, step.SUCCESSIVI);
            setLbxStati2(step.SUCCESSIVI);
            setDdlStatiAutomatici(step);
        }
示例#3
0
 private bool verificaStatoPadre(string statoPadre)
 {
     DocsPaWR.DiagrammaStato dg = (SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];
     if (dg.PASSI != null)
     {
         for (int i = 0; i < dg.PASSI.Length; i++)
         {
             DocsPaWR.Passo step = (SAAdminTool.DocsPaWR.Passo)dg.PASSI[i];
             if (step.STATO_PADRE.DESCRIZIONE == statoPadre)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
示例#4
0
        private void modificaStato(string nomeNuovo, string nomeVecchio)
        {
            if (Session["DiagrammaStato"] != null)
            {
                DocsPaWR.DiagrammaStato dg = (DocsPAWA.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];
                if (dg.STATI != null)
                {
                    for (int i = 0; i < dg.STATI.Length; i++)
                    {
                        if (nomeVecchio == ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).DESCRIZIONE)
                        {
                            ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).DESCRIZIONE          = nomeNuovo;
                            ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).STATO_INIZIALE       = cb_statoIniziale.Checked;
                            ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).CONVERSIONE_PDF      = cb_convertiInPdf.Checked;
                            ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).STATO_CONSOLIDAMENTO = (DocsPaWR.DocumentConsolidationStateEnum)Enum.Parse(typeof(DocsPaWR.DocumentConsolidationStateEnum), cb_consolidamento.SelectedValue, true);
                            ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).NON_RICERCABILE      = cb_statoNonRicercabile.Checked;
                            ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).STATO_SISTEMA        = cbxTransactionSystem.Checked;
                            ((DocsPAWA.DocsPaWR.Stato)dg.STATI[i]).ID_PROCESSO_FIRMA    = this.DdlProcessoFirma.SelectedValue;
                        }

                        if (dg.PASSI != null)
                        {
                            for (int j = 0; j < dg.PASSI.Length; j++)
                            {
                                DocsPaWR.Passo step = (DocsPAWA.DocsPaWR.Passo)dg.PASSI[j];
                                if (nomeVecchio == step.STATO_PADRE.DESCRIZIONE)
                                {
                                    ((DocsPAWA.DocsPaWR.Passo)dg.PASSI[j]).STATO_PADRE.DESCRIZIONE = nomeNuovo;
                                }

                                if (step.SUCCESSIVI != null)
                                {
                                    for (int k = 0; k < step.SUCCESSIVI.Length; k++)
                                    {
                                        if (nomeVecchio == ((DocsPAWA.DocsPaWR.Stato)step.SUCCESSIVI[k]).DESCRIZIONE)
                                        {
                                            ((DocsPAWA.DocsPaWR.Stato)((DocsPAWA.DocsPaWR.Passo)dg.PASSI[j]).SUCCESSIVI[k]).DESCRIZIONE = nomeNuovo;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                Session.Add("DiagrammaStato", dg);
            }
        }
示例#5
0
        private void dg_listaPassi_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            int oggettoSelezionato = (dg_listaPassi.CurrentPageIndex * dg_listaPassi.PageSize) + e.Item.ItemIndex;

            DocsPaWR.DiagrammaStato dg = (SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"];
            string statoIniziale       = ((SAAdminTool.DocsPaWR.Passo)dg.PASSI[oggettoSelezionato]).STATO_PADRE.DESCRIZIONE;

            //string statoIniziale = dg_listaPassi.Items[oggettoSelezionato].Cells[0].Text;

            if (dg.PASSI != null)
            {
                for (int i = 0; i < dg.PASSI.Length; i++)
                {
                    DocsPaWR.Passo step = (SAAdminTool.DocsPaWR.Passo)dg.PASSI[i];
                    if (step.STATO_PADRE.DESCRIZIONE == statoIniziale)
                    {
                        rimuoviPasso(i);
                    }
                }
            }

            Session.Add("DiagrammaStato", dg);

            if (dg_listaPassi.Items.Count == 0)
            {
                Panel_ListaPassi.Visible = false;
            }
            else
            {
                dg_listaPassi.CurrentPageIndex = 0;
            }

            caricaDgListaPassi();
            dg_listaPassi.Columns[2].Visible = true;
            dg_listaPassi.Columns[3].Visible = true;

            //Imposta le label che indicano istantaneamente quali sono gli stati iniziali e finali
            //del diagramma che si sta costruendo, avvalendosi delle funzioni:
            //"trovaStatoIniziale" - "trovaStatoFinale"

            //settaStatiIniziali(trovaStatiIniziali());
            settaStatiFinali(trovaStatiFinali());
            btn_modPasso.Visible = false;
            btn_addStep.Visible  = true;
        }
示例#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);
        }
示例#7
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);
        }
示例#8
0
 private bool verificaEliminazioneStato(string nomeStato)
 {
     if (((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI != null)
     {
         ArrayList steps = new ArrayList(((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI);
         for (int i = 0; i < steps.Count; i++)
         {
             DocsPaWR.Passo step = (SAAdminTool.DocsPaWR.Passo)steps[i];
             if (nomeStato == step.STATO_PADRE.DESCRIZIONE)
             {
                 return(true);
             }
             for (int j = 0; j < step.SUCCESSIVI.Length; j++)
             {
                 if (nomeStato == ((SAAdminTool.DocsPaWR.Stato)step.SUCCESSIVI[j]).DESCRIZIONE)
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
示例#9
0
        public void caricaDgListaPassi()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("Stato");
            dt.Columns.Add("Stati Successivi");

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

            if (dg.PASSI != null)
            {
                for (int i = 0; i < dg.PASSI.Length; i++)
                {
                    DataRow        dr   = dt.NewRow();
                    DocsPaWR.Passo step = (SAAdminTool.DocsPaWR.Passo)dg.PASSI[i];
                    dr["Stato"] = step.STATO_PADRE.DESCRIZIONE;
                    string statiSuccessivi = "";

                    if (step.SUCCESSIVI != null)
                    {
                        for (int j = 0; j < step.SUCCESSIVI.Length; j++)
                        {
                            statiSuccessivi += ((SAAdminTool.DocsPaWR.Stato)step.SUCCESSIVI[j]).DESCRIZIONE + " - ";
                        }
                        statiSuccessivi        = statiSuccessivi.Substring(0, statiSuccessivi.Length - 2);
                        dr["Stati Successivi"] = statiSuccessivi;
                        dt.Rows.Add(dr);
                    }
                }
            }

            dg_listaPassi.DataSource = dt;

            dg_listaPassi.DataBind();
            dg_listaPassi.SelectedIndex = -1;
            Panel_ListaPassi.Visible    = true;
        }