/// <summary> /// Restituisce la lista dei possibili messaggi con cui inviare la richiesta RGS /// </summary> /// <param name="schedaDocumento"></param> /// <returns></returns> public static List <DocsPaVO.FlussoAutomatico.Messaggio> GetMessaggiSuccessiviFlussoProcedurale(DocsPaVO.documento.SchedaDocumento schedaDocumento) { List <DocsPaVO.FlussoAutomatico.Messaggio> messaggiSuccessivi = new List <DocsPaVO.FlussoAutomatico.Messaggio>(); DocsPaVO.FlussoAutomatico.Messaggio messaggioPrecedente = new DocsPaVO.FlussoAutomatico.Messaggio(); try { DocsPaDB.Query_DocsPAWS.FlussoAutomatico flusso = new DocsPaDB.Query_DocsPAWS.FlussoAutomatico(); if (schedaDocumento.rispostaDocumento != null && !string.IsNullOrEmpty(schedaDocumento.rispostaDocumento.docNumber)) { messaggioPrecedente = flusso.GetMessaggioFlussoProceduraleByIdDocumento(schedaDocumento.rispostaDocumento.docNumber); if (messaggioPrecedente != null && !string.IsNullOrEmpty(messaggioPrecedente.ID)) { messaggiSuccessivi = flusso.GetMessaggiSuccessiviFlusso(messaggioPrecedente.ID); } else { messaggiSuccessivi = flusso.GetMessaggiSuccessiviFlusso(messaggioPrecedente.ID); } } else { messaggiSuccessivi.Add(GetMessaggioInizialeFlussoProcedurale()); } } catch (Exception e) { logger.Error("Errore in GetMessaggiSuccessiviFlussoProcedurale " + e.Message); return(null); } return(messaggiSuccessivi); }
/// <summary> /// Estrae il messaggio con cui è stato spedito il protocollo /// </summary> /// <param name="idProfile"></param> /// <returns></returns> public DocsPaVO.FlussoAutomatico.Messaggio GetMessaggioFlussoProceduraleByIdDocumento(string idProfile) { DocsPaVO.FlussoAutomatico.Messaggio messaggio = new DocsPaVO.FlussoAutomatico.Messaggio(); string query; DataSet ds = new DataSet(); try { DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPA_TIPO_MESSAGGI_FLUSSO_BY_ID_PROFILE"); q.setParam("idProfile", idProfile); query = q.getSQL(); logger.Debug("GetMessaggioFlussoProceduraleByIdDocumento: " + query); if (this.ExecuteQuery(out ds, "MESSAGGIO_ID_PROFILE", query)) { if (ds.Tables["MESSAGGIO_ID_PROFILE"] != null && ds.Tables["MESSAGGIO_ID_PROFILE"].Rows.Count > 0) { DataRow row = ds.Tables["MESSAGGIO_ID_PROFILE"].Rows[0]; messaggio = this.BuildMessaggio(row); } } } catch (Exception e) { logger.Error("Errore in GetMessaggioFlussoProceduraleByIdDocumento: " + e.Message); return(null); } return(messaggio); }
/// <summary> /// Estrae la richiesta iniziale per il flusso RGS /// </summary> /// <returns></returns> public DocsPaVO.FlussoAutomatico.Messaggio GetMessaggioInizialeFlussoProcedurale() { DocsPaVO.FlussoAutomatico.Messaggio messaggioIniziale = new DocsPaVO.FlussoAutomatico.Messaggio(); string query; DataSet ds = new DataSet(); try { DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPA_TIPO_MESSAGGI_FLUSSO_INIZIALE"); query = q.getSQL(); logger.Debug("GetMessaggioInizialeFlussoProcedurale: " + query); if (this.ExecuteQuery(out ds, "GetMessaggioInizialeFlussoProcedurale", query)) { if (ds.Tables["GetMessaggioInizialeFlussoProcedurale"] != null && ds.Tables["GetMessaggioInizialeFlussoProcedurale"].Rows.Count > 0) { DataRow row = ds.Tables["GetMessaggioInizialeFlussoProcedurale"].Rows[0]; messaggioIniziale = this.BuildMessaggio(row); } } } catch (Exception e) { logger.Error("Errore in GetMessaggioInizialeFlussoProcedurale: " + e.Message); return(null); } return(messaggioIniziale); }
private DocsPaVO.FlussoAutomatico.Messaggio BuildMessaggio(DataRow row) { DocsPaVO.FlussoAutomatico.Messaggio messaggio = new DocsPaVO.FlussoAutomatico.Messaggio(); messaggio.ID = row["ID_MESSAGGIO"].ToString(); messaggio.DESCRIZIONE = row["DESCRIZIONE"].ToString(); messaggio.INIZIALE = row["CHA_MESSAGGIO_INIZIALE"].ToString().Equals("1") ? true : false; messaggio.FINALE = row["CHA_MESSAGGIO_FINALE"].ToString().Equals("1") ? true : false; return(messaggio); }
/// <summary> /// Restituisce l'id del processo; se è l'invio di una nuova richiesta calcola l'id altrimenti va a prelevare l'id del processo tramite il protocollo inviato precedentemente. /// </summary> /// <param name="schedaDoc"></param> /// <param name="messaggio"></param> /// <returns></returns> public static string GetIdProcessoFlusso(DocsPaVO.documento.SchedaDocumento schedaDoc, DocsPaVO.FlussoAutomatico.Messaggio messaggio) { string idProcesso = string.Empty; if (messaggio.INIZIALE) { idProcesso = schedaDoc.registro.codRegistro.Trim() + "_" + schedaDoc.protocollo.anno.Trim() + "_" + schedaDoc.protocollo.numero.Trim(); } else { DocsPaDB.Query_DocsPAWS.FlussoAutomatico flusso = new DocsPaDB.Query_DocsPAWS.FlussoAutomatico(); idProcesso = flusso.GetIdProcessoFlussoProcedurale(schedaDoc.rispostaDocumento.docNumber); } return(idProcesso); }