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); } }
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); }
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); } }
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); }
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; } }
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); }
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); }
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); } }
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; } }
/// <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); } }
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"); } }
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); }
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; } } }
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); } } } } }
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; } } } } }