Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        /// <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);
        }