private void setDdlStatiAutomatici(SAAdminTool.DocsPaWR.Passo step) { for (int i = 0; i < ddl_statiAutomatici.Items.Count; i++) { if (step.DESCRIZIONE_STATO_AUTOMATICO == ddl_statiAutomatici.Items[i].Text) { ddl_statiAutomatici.SelectedIndex = i; } } }
private void btn_addStep_Click(object sender, System.EventArgs e) { if (lbox_stati2.Items.Count == 0) { RegisterStartupScript("statiSuccessivi", "<script>alert('Selezionare uno stato iniziale e uno o più stati successivi !');</script>"); return; } if (verificaStatoPadre(ddl_stati.SelectedItem.Text)) { RegisterStartupScript("statiSuccessivi", "<script>alert('Spiacente, esiste già un passo con questo stato iniziale !');</script>"); return; } DocsPaWR.Stato st_1 = new SAAdminTool.DocsPaWR.Stato(); DocsPaWR.Passo step = new SAAdminTool.DocsPaWR.Passo(); st_1.DESCRIZIONE = ddl_stati.SelectedItem.Text; step.STATO_PADRE = st_1; if (ddl_statiAutomatici.SelectedItem.Text != "") { step.DESCRIZIONE_STATO_AUTOMATICO = ddl_statiAutomatici.SelectedItem.Text; } else { step.DESCRIZIONE_STATO_AUTOMATICO = ""; step.ID_STATO_AUTOMATICO = ""; } ArrayList successivi = new ArrayList(); for (int i = 0; i < lbox_stati2.Items.Count; i++) { DocsPaWR.Stato st_2 = new SAAdminTool.DocsPaWR.Stato(); st_2.DESCRIZIONE = lbox_stati2.Items[i].Text; successivi.Add(st_2); step.SUCCESSIVI = new SAAdminTool.DocsPaWR.Stato[successivi.Count]; successivi.CopyTo(step.SUCCESSIVI); } aggiungiPasso(step); lbox_stati1.Items.Clear(); lbox_stati2.Items.Clear(); ddl_stati.SelectedIndex = -1; ddl_statiAutomatici.Items.Clear(); caricaDgListaPassi(); dg_listaPassi.Columns[2].Visible = true; dg_listaPassi.Columns[3].Visible = true; settaStatiFinali(trovaStatiFinali()); }
private void aggiungiPasso(SAAdminTool.DocsPaWR.Passo step) { ArrayList passi; if (((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI != null) { passi = new ArrayList(((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI); passi.Add(step); } else { passi = new ArrayList(); passi.Add(step); } ((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI = new SAAdminTool.DocsPaWR.Passo[passi.Count]; passi.CopyTo(((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI); }
private void btn_modPasso_Click(object sender, System.EventArgs e) { if (lbox_stati2.Items.Count == 0) { RegisterStartupScript("statiSuccessivi", "<script>alert('Selezionare uno stato iniziale e uno o più stati successivi !');</script>"); return; } int elSelezionato = (dg_listaPassi.CurrentPageIndex * dg_listaPassi.PageSize) + dg_listaPassi.SelectedIndex; rimuoviPasso(elSelezionato); if (verificaStatoPadre(ddl_stati.SelectedItem.Text)) { RegisterStartupScript("statiSuccessivi", "<script>alert('Spiacente, esiste già un passo con questo stato iniziale !');</script>"); return; } DocsPaWR.Passo newStep = new SAAdminTool.DocsPaWR.Passo(); DocsPaWR.Stato st_1 = new SAAdminTool.DocsPaWR.Stato(); st_1.DESCRIZIONE = ddl_stati.SelectedItem.Text; newStep.STATO_PADRE = st_1; if (ddl_statiAutomatici.SelectedItem.Text != "") { newStep.DESCRIZIONE_STATO_AUTOMATICO = ddl_statiAutomatici.SelectedItem.Text; } else { newStep.DESCRIZIONE_STATO_AUTOMATICO = ""; newStep.ID_STATO_AUTOMATICO = ""; } ArrayList successivi = new ArrayList(); for (int i = 0; i < lbox_stati2.Items.Count; i++) { DocsPaWR.Stato st_2 = new SAAdminTool.DocsPaWR.Stato(); st_2.DESCRIZIONE = lbox_stati2.Items[i].Text; successivi.Add(st_2); newStep.SUCCESSIVI = new SAAdminTool.DocsPaWR.Stato[successivi.Count]; successivi.CopyTo(newStep.SUCCESSIVI); } ArrayList passi_1 = new ArrayList(((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI); passi_1.Insert(elSelezionato, newStep); ((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI = new SAAdminTool.DocsPaWR.Passo[passi_1.Count]; passi_1.CopyTo(((SAAdminTool.DocsPaWR.DiagrammaStato)Session["DiagrammaStato"]).PASSI); caricaDgListaPassi(); dg_listaPassi.Columns[2].Visible = true; dg_listaPassi.Columns[3].Visible = true; btn_modPasso.Visible = false; btn_addStep.Visible = true; lbox_stati1.Items.Clear(); lbox_stati2.Items.Clear(); ddl_statiAutomatici.Items.Clear(); ddl_stati.SelectedIndex = -1; //Imposta le label che indicano istantaneamente quali sono gli stati iniziali e finali //del diagramma che si sta costruendo, avvalendosi delle funzioni: //"trovaStatoIniziale" - "trovaStatoFinale" settaStatiFinali(trovaStatiFinali()); }