/// <summary> /// Set the items in state CLOSED /// </summary> /// <returns></returns> public bool SetLookNextPasso(PassoFirma passo) { bool retVal = false; DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("U_NEXT_PASSO_AS_LOOK"); q.setParam("Id_Processo", passo.idProcesso); q.setParam("Id_Documento", passo.idDocumeto); q.setParam("Id_Processo", passo.idProcesso); q.setParam("N_Sequenza", (passo.numeroSequenza + 1).ToString()); string queryString = q.getSQL(); logWriter.addLog(logWriter.DEBUG, queryString); try { this.ExecuteNonQuery(queryString); } catch (Exception ex) { logWriter.addLog(logWriter.ERRORE, ex.Message); retVal = false; } return(retVal); }
/// <summary> /// Seleziona l'url dell'icona in base al tipo di evento /// </summary> /// <param name="passo"></param> /// <returns></returns> public static string GetIconEventType(PassoFirma passo) { string url = string.Empty; string tipoEvento = string.Empty; switch (passo.Evento.TipoEvento) { case LibroFirmaManager.TypeStep.EVENT: //url = "../Images/Icons/LibroFirma/event.png"; if (!passo.IsAutomatico) { url = passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople) ? "../Images/Icons/LibroFirma/Event_People.png" : "../Images/Icons/LibroFirma/Event_Role.png"; } else { url = "../Images/Icons/LibroFirma/Event_Automatic.png"; } break; case LibroFirmaManager.TypeStep.SIGN: tipoEvento = passo.Evento.CodiceAzione.ToLower(); url = passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople) ? "../Images/Icons/LibroFirma/" + tipoEvento + "_user.png" : "../Images/Icons/LibroFirma/" + tipoEvento + "_role.png"; break; case LibroFirmaManager.TypeStep.WAIT: tipoEvento = passo.Evento.CodiceAzione.ToLower(); url = "../Images/Icons/LibroFirma/" + tipoEvento + ".png"; break; } return(url); }
/// <summary> /// Aggiorna passo di firma /// </summary> /// <param name="passo"></param> /// <returns></returns> public static bool AggiornaPassoDiFirma(PassoFirma passo, int oldNumeroSequenza) { try { return(docsPaWS.AggiornaPassoDiFirma(passo, oldNumeroSequenza, UserManager.GetInfoUser())); } catch (System.Exception ex) { return(false); } }
/// <summary> /// Rimozione del processo di firma /// </summary> /// <param name="processo"></param> /// <returns></returns> public static bool RimuoviPassoDiFirma(PassoFirma passo) { try { return(docsPaWS.RimuoviPassoDiFirma(passo, UserManager.GetInfoUser())); } catch (System.Exception ex) { return(false); } }
public static PassoFirma InserisciPassoDiFirma(PassoFirma passo) { try { return(docsPaWS.InserisciPassoDiFirma(passo, UserManager.GetInfoUser())); } catch (System.Exception ex) { return(null); } }
/// <summary> /// Ritona la label del nodo di passo /// </summary> /// <param name="passo"></param> /// <returns></returns> public static string GetHolder(PassoFirma passo) { string holder = passo.numeroSequenza.ToString() + " - "; string user = string.Empty; switch (passo.Evento.TipoEvento) { case LibroFirmaManager.TypeStep.EVENT: holder += passo.Evento.Descrizione + " - "; if (passo.ruoloCoinvolto != null && !string.IsNullOrEmpty(passo.ruoloCoinvolto.systemId)) { user = (passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople)) ? passo.utenteCoinvolto.descrizione : string.Empty; holder += string.IsNullOrEmpty(user) ? passo.ruoloCoinvolto.descrizione : user + " (" + passo.ruoloCoinvolto.descrizione + ")"; } else if (passo.TpoRuoloCoinvolto != null && !string.IsNullOrEmpty(passo.TpoRuoloCoinvolto.descrizione)) { holder += passo.TpoRuoloCoinvolto.descrizione; } else { holder += ". . ."; } break; case LibroFirmaManager.TypeStep.SIGN: if (passo.ruoloCoinvolto != null && !string.IsNullOrEmpty(passo.ruoloCoinvolto.systemId)) { user = (passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople)) ? passo.utenteCoinvolto.descrizione : string.Empty; holder += string.IsNullOrEmpty(user) ? passo.ruoloCoinvolto.descrizione : user + " (" + passo.ruoloCoinvolto.descrizione + ")"; } else if (passo.TpoRuoloCoinvolto != null && !string.IsNullOrEmpty(passo.TpoRuoloCoinvolto.descrizione)) { holder += passo.TpoRuoloCoinvolto.descrizione; } else { holder += ". . ."; } break; case LibroFirmaManager.TypeStep.WAIT: holder += Utils.Languages.GetLabelFromCode("SignatureProcessWait", UserManager.GetUserLanguage()); break; } return(holder); }
/// <summary> /// Set the items in state CLOSED /// </summary> /// <returns></returns> public bool SetPassoClosed(PassoFirma passo) { bool retVal = false; DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("U_PASSO"); q.setParam("Id_Passo", passo.idPasso); string queryString = q.getSQL(); logWriter.addLog(logWriter.DEBUG, queryString); try { this.ExecuteNonQuery(queryString); } catch (Exception ex) { logWriter.addLog(logWriter.ERRORE, ex.Message); retVal = false; } return(retVal); }
/// <summary> /// Creates the list of notifications associated with the event /// </summary> public void ElaborateListOfEvents(string eventWithoutActor) { DocsPaVO.utente.Utente utente = null; List <string> listElaborati = new List <string>(); foreach (Evento eventInSession in _listEvents) { PassoFirma passo = _dataLayersEvents.GetPassoDiFirma(eventInSession, eventWithoutActor); if (!string.IsNullOrEmpty(passo.idPasso)) { LF_Services.ClosePassoAndGetNextRequest getRequest = new LF_Services.ClosePassoAndGetNextRequest(); LF_Services.AddElementoInLFRequest addRequest = new LF_Services.AddElementoInLFRequest(); if (utente == null || utente.IdPeople != eventInSession.idUtente || utente.Idruolo != eventInSession.idRuolo) { utente = ServiceUser(eventInSession.idUtente, eventInSession.idRuolo, passo.isAutomatico); } getRequest.UserName = utente.Userid; getRequest.CodeAdm = utente.CodAmm; getRequest.CodeRoleLogin = utente.CodRuolo; getRequest.AuthenticationToken = utente.AuthenticationToken; // "SSO=TEST"; getRequest.Delegato = eventInSession.Delegato; getRequest.IdIstanzaPasso = passo.idPasso; getRequest.IdIstanzaProcesso = passo.idProcesso; getRequest.IdVersione = passo.VersionId; getRequest.IdDocumento = passo.idDocumeto; getRequest.OrdinePasso = passo.numeroSequenza; getRequest.DataEsecuzione = eventInSession.DataInserimento; getRequest.DocAll = passo.docAll; LF_Services.LibroFirmaClient LF_Client = new LF_Services.LibroFirmaClient(); LF_Services.ClosePassoAndGetNextResponse getResponse = LF_Client.ClosePassoAndGetNext(getRequest); IstanzaPassoDiFirma nextPasso = convertIstanzaPasso(getResponse.IstanzaPasso); if (nextPasso != null) { addRequest.UserName = utente.Userid; addRequest.CodeAdm = utente.CodAmm; addRequest.CodeRoleLogin = utente.CodRuolo; addRequest.AuthenticationToken = utente.AuthenticationToken; addRequest.Delegato = eventInSession.Delegato; addRequest.IdPassoPrecedente = passo.idPasso; addRequest.IdPasso = nextPasso.idIstanzaPasso; addRequest.Modalita = "A"; LF_Services.AddElementoInLFResponse addResponse = LF_Client.AddElementoInLF(addRequest); } } else { //Verifico se ci sono eventi di interruzione processo } listElaborati.Add(eventInSession.idEvento); } if (listElaborati.Count > 0) // && 1==2) { _dataLayersEvents.DeleteEvent(listElaborati); } }
/// <summary> /// Returns the items passo di firma /// </summary> /// <returns></returns> public PassoFirma GetPassoDiFirma(Evento e, string eventWithoutActor) { PassoFirma passo = new PassoFirma(); try { DataSet ds = new DataSet(); DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_PASSO"); q.setParam("Var_Cod_Azione", e.codiceAzione.ToString()); q.setParam("Id_Group", e.idRuolo.ToString()); q.setParam("Id_Processo", e.idProcesso.ToString()); q.setParam("Id_Documento", e.idDocumento.ToString()); q.setParam("Id_People", e.idUtente); string queryString = q.getSQL(); logWriter.addLog(logWriter.DEBUG, queryString); this.ExecuteQuery(out ds, "Items", q.getSQL()); if (ds.Tables["Items"] != null && ds.Tables["Items"].Rows.Count > 0) { DataRow dr = ds.Tables["Items"].Rows[0]; passo.idPasso = dr["ID_ISTANZA_PASSO"].ToString(); passo.numeroSequenza = Utils.ConvertField(dr["numero_Sequenza"].ToString()); passo.tipoFirma = dr["tipo_Firma"].ToString(); passo.idDocumeto = e.idDocumento; passo.VersionId = dr["version_id"].ToString(); passo.idProcesso = e.idProcesso; passo.idRuoloCoinvolto = e.idRuolo; passo.idUtenteCoinvolto = e.idUtente; passo.tipoEvento = e.tipoEvento; passo.docAll = dr["Doc_All"].ToString(); passo.isAutomatico = string.IsNullOrEmpty(dr["CHA_AUTOMATICO"].ToString()) || !dr["CHA_AUTOMATICO"].ToString().Equals("1") ? false : true; } else if (!string.IsNullOrEmpty(eventWithoutActor)) { string[] eventWithoutActorList = eventWithoutActor.Split('|'); q = DocsPaUtils.InitQuery.getInstance().getQuery("S_PASSO_NO_ACTOR"); int valCounter = 0; string conditionToAdd = string.Empty; foreach (string tipoEvento in eventWithoutActorList) { if (valCounter > 0) { conditionToAdd = conditionToAdd + ","; } conditionToAdd = conditionToAdd + "'" + tipoEvento + "'"; valCounter++; } q.setParam("Var_Cod_Azione", e.codiceAzione.ToString()); q.setParam("Cha_Tipo_Azione", conditionToAdd); q.setParam("Id_Processo", e.idProcesso.ToString()); q.setParam("Id_Documento", e.idDocumento.ToString()); queryString = q.getSQL(); logWriter.addLog(logWriter.DEBUG, queryString); this.ExecuteQuery(out ds, "Items", q.getSQL()); if (ds.Tables["Items"] != null && ds.Tables["Items"].Rows.Count > 0) { DataRow dr = ds.Tables["Items"].Rows[0]; passo.idPasso = dr["ID_ISTANZA_PASSO"].ToString(); passo.numeroSequenza = Utils.ConvertField(dr["numero_Sequenza"].ToString()); passo.tipoFirma = dr["tipo_Firma"].ToString(); passo.idDocumeto = e.idDocumento; passo.VersionId = dr["version_id"].ToString(); passo.idProcesso = e.idProcesso; passo.idRuoloCoinvolto = e.idRuolo; passo.idUtenteCoinvolto = e.idUtente; passo.tipoEvento = e.tipoEvento; passo.docAll = dr["Doc_All"].ToString(); } } } catch (Exception exc) { logWriter.addLog(logWriter.ERRORE, exc.Message); } logWriter.addLog(logWriter.INFO, (passo != null && !string.IsNullOrEmpty(passo.idPasso) ? "PASSO: " + passo.idPasso.ToString() : "NESSUN PASSO TROVATO.")); return(passo); }