예제 #1
0
        /// <summary>
        /// Verifica se la ragione trasmissione è tra quelle predefinite scelte in amministrazione
        /// </summary>
        /// <param name="ragione"></param>
        /// <returns></returns>
        private static bool IsRagioneDefaultAmministrazione(OrgRagioneTrasmissione ragione)
        {
            bool retValue = false;

            using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider())
            {
                DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_S_IS_RAGIONE_TRASMISSIONE_DEFAULT");
                queryDef.setParam("idRagione", ragione.ID);

                string commandText = queryDef.getSQL();
                logger.Debug(commandText);

                string outParam;
                if (dbProvider.ExecuteScalar(out outParam, commandText))
                {
                    try
                    {
                        retValue = (Convert.ToInt32(outParam) > 0);
                    }
                    catch
                    {
                    }
                }
            }

            return(retValue);
        }
예제 #2
0
        /// <summary>
        /// Cancellazione ragione trasmissione
        /// </summary>
        /// <param name="ragione"></param>
        /// <returns></returns>
        public static ValidationResultInfo DeleteRagioneTrasmissione(OrgRagioneTrasmissione ragione)
        {
            ValidationResultInfo retValue = CanDeleteRagioneTrasmissione(ragione);

            if (retValue.Value)
            {
                DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_D_DELETE_RAGIONE_TRASMISSIONE");
                queryDef.setParam("idRagione", ragione.ID);

                string commandText = queryDef.getSQL();
                logger.Debug(commandText);

                DBProvider dbProvider = null;

                try
                {
                    dbProvider = new DBProvider();

                    dbProvider.BeginTransaction();

                    int rowsAffected;
                    retValue.Value = dbProvider.ExecuteNonQuery(commandText, out rowsAffected);

                    if (!retValue.Value || rowsAffected == 0)
                    {
                        retValue.Value = false;
                        retValue.BrokenRules.Add(new BrokenRule("DB_ERROR", "Errore nella cancellazione della ragione trasmissione"));
                    }

                    if (retValue.Value)
                    {
                        dbProvider.CommitTransaction();
                    }
                    else
                    {
                        dbProvider.RollbackTransaction();
                    }
                }
                catch
                {
                    dbProvider.RollbackTransaction();
                    retValue.Value = false;
                }
                finally
                {
                    dbProvider.Dispose();
                }
            }

            return(retValue);
        }
예제 #3
0
        /// <summary>
        /// Verifica vincoli in inserimento ragione trasmissione
        /// </summary>
        /// <param name="ragione"></param>
        /// <returns></returns>
        public static ValidationResultInfo CanInsertRagioneTrasmissione(OrgRagioneTrasmissione ragione)
        {
            ValidationResultInfo retValue = IsValidRequiredFieldsRagione(DBActionTypeRagioneEnum.InsertMode, ragione);

            if (retValue.Value)
            {
                // Verifica presenza codice ragione trasmissione
                if (ContainsCodiceRagione(ragione))
                {
                    retValue.Value = false;
                    retValue.BrokenRules.Add(new BrokenRule("CODICE_RAGIONE", "Codice ragione trasmissione già presente"));
                }
            }

            return(retValue);
        }
예제 #4
0
        /// <summary>
        /// Reperimento ragione trasmissione
        /// </summary>
        /// <param name="idTrasmissione"></param>
        /// <returns></returns>
        public static OrgRagioneTrasmissione GetRagioneTrasmissione(string idRagione)
        {
            OrgRagioneTrasmissione retValue = null;

            DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_S_GET_RAGIONE_TRASMISSIONE");
            queryDef.setParam("idRagione", idRagione);

            string commandText = queryDef.getSQL();

            logger.Debug(commandText);

            using (DBProvider dbProvider = new DBProvider())
                using (IDataReader reader = dbProvider.ExecuteReader(commandText))
                    if (reader.Read())
                    {
                        retValue = CreateRagioneTrasmissione(reader);
                    }

            return(retValue);
        }
예제 #5
0
        /// <summary>
        /// Reperimento info delle ragioni trasmissione
        /// </summary>
        /// <param name="idAmministrazione"></param>
        /// <returns></returns>
        public static OrgRagioneTrasmissione[] GetInfoRagioniTrasmissione(string idAmministrazione)
        {
            ArrayList retValue             = new ArrayList();
            OrgRagioneTrasmissione ragione = null;

            DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPARagTrasm_ALL");
            queryDef.setParam("param1", "system_id as ID, var_desc_ragione as DESCRIZIONE, cha_tipo_dest as TIPO_DESTINATARIO");
            if (idAmministrazione == null || idAmministrazione.ToUpper().Equals("NULL"))
            {
                queryDef.setParam("param2", "WHERE id_amm IS NULL");
            }
            else
            {
                queryDef.setParam("param2", "WHERE id_amm = " + idAmministrazione);
            }

            string commandText = queryDef.getSQL();

            logger.Debug(commandText);

            using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider())
            {
                using (System.Data.IDataReader reader = dbProvider.ExecuteReader(commandText))
                {
                    while (reader.Read())
                    {
                        ragione = new OrgRagioneTrasmissione();

                        ragione.ID               = reader.GetValue(reader.GetOrdinal("ID")).ToString();
                        ragione.Codice           = reader.GetString(reader.GetOrdinal("DESCRIZIONE"));
                        ragione.TipoDestinatario = OrgRagioneTrasmissione.ParseTipoDestinatario(reader.GetString(reader.GetOrdinal("TIPO_DESTINATARIO")));

                        retValue.Add(ragione);
                    }
                }
            }

            return((OrgRagioneTrasmissione[])retValue.ToArray(typeof(OrgRagioneTrasmissione)));
        }
예제 #6
0
        /// <summary>
        /// Verifica vincoli in cancellazione ragione trasmissione
        /// </summary>
        /// <param name="ragione"></param>
        /// <returns></returns>
        public static ValidationResultInfo CanDeleteRagioneTrasmissione(OrgRagioneTrasmissione ragione)
        {
            ValidationResultInfo retValue = IsValidRequiredFieldsRagione(DBActionTypeRagioneEnum.DeleteMode, ragione);

            if (retValue.Value)
            {
                // Verifica presenza di almeno una trasmissione
                if (ContainsTrasmissioni(ragione.ID))
                {
                    retValue.Value = false;
                    retValue.BrokenRules.Add(new BrokenRule("CONTAINS_TRASMISSIONI", "La ragione trasmissione è stata utilizzata in almeno una trasmissione"));
                }

                // Verifica che la ragione sia tra quella di default scelte nell'amministrazione
                if (IsRagioneDefaultAmministrazione(ragione))
                {
                    retValue.Value = false;
                    retValue.BrokenRules.Add(new BrokenRule("RAGIONE_DEFAULT_AMMINISTRAZIONE", "La ragione trasmissione è tra quelle scelte come predefinite in amministrazione"));
                }
            }

            return(retValue);
        }
예제 #7
0
        /// <summary>
        /// Caricamento parametri
        /// </summary>
        /// <param name="insertMode"></param>
        /// <param name="queryDef"></param>
        /// <param name="ragione"></param>
        private static void FillParameters(bool insertMode, DocsPaUtils.Query queryDef, OrgRagioneTrasmissione ragione)
        {
            if (insertMode)
            {
                queryDef.setParam("colSystemID", DocsPaDbManagement.Functions.Functions.GetSystemIdColName());
                queryDef.setParam("systemID", string.IsNullOrEmpty(ragione.ID) ? null : ragione.ID + ",");
            }

            queryDef.setParam("tipoRagione", GetStringParameterValue(OrgRagioneTrasmissione.ParseTipoTrasmissione(ragione.Tipo)));
            queryDef.setParam("visibile", GetStringParameterValue(ragione.Visibilita?"1":"0"));
            queryDef.setParam("tipoDiritto", GetStringParameterValue(OrgRagioneTrasmissione.ParseTipoDiritto(ragione.TipoDiritto)));
            queryDef.setParam("tipoDestinatario", GetStringParameterValue(OrgRagioneTrasmissione.ParseTipoDestinatario(ragione.TipoDestinatario)));
            queryDef.setParam("risposta", GetStringParameterValue(ragione.Risposta?"1":"0"));
            queryDef.setParam("descrizione", GetStringParameterValue(ragione.Descrizione));
            queryDef.setParam("eredita", GetStringParameterValue(ragione.Eredita?"1":"0"));
            queryDef.setParam("tipoRisposta", GetStringParameterValue(ragione.PrevedeRisposta?"R":"C"));
            queryDef.setParam("idAmministrazione", ragione.IDAmministrazione);
            queryDef.setParam("mantieniLettura", GetStringParameterValue(ragione.MantieniLettura ? "1" : "0"));
            queryDef.setParam("fascicolazioneObbligatoria", GetStringParameterValue(ragione.ClassificazioneObbligatoria ? "1" : "0"));
            //
            // Aggiunto campo e parametro alle query AMM_I_INSERT_RAGIONE_TRASMISSIONE e AMM_U_UPDATE_RAGIONE_TRASMISSIONE
            // campo CHA_MANTIENI_SCRITT = @mantieniScrittura@
            queryDef.setParam("mantieniScrittura", GetStringParameterValue(ragione.MantieniScrittura ? "1" : "0"));
            // End
            //
            string notifica = OrgRagioneTrasmissione.ParseTipoNotifica(ragione.TipoNotifica);

            if (notifica != "Null")
            {
                notifica = "'" + GetStringParameterValue(notifica) + "'";
            }

            queryDef.setParam("notifica", notifica);
            queryDef.setParam("codiceRagione", GetStringParameterValue(ragione.Codice));
            //queryDef.setParam("idAmministrazione",ragione.IDAmministrazione);
            queryDef.setParam("cedeDiritti", OrgRagioneTrasmissione.ParseCedeDiritti(ragione.PrevedeCessione));
        }
예제 #8
0
        /// <summary>
        /// Creazione oggetto ragione trasmissione
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        private static OrgRagioneTrasmissione CreateRagioneTrasmissione(IDataReader reader)
        {
            OrgRagioneTrasmissione ragione = new OrgRagioneTrasmissione();

            ragione.ID               = reader.GetValue(reader.GetOrdinal("ID")).ToString();
            ragione.Codice           = reader.GetString(reader.GetOrdinal("CODICE"));
            ragione.Descrizione      = reader.GetString(reader.GetOrdinal("DESCRIZIONE"));
            ragione.Tipo             = OrgRagioneTrasmissione.ParseTipoTrasmissione(reader.GetString(reader.GetOrdinal("TIPO")));
            ragione.Visibilita       = reader.GetString(reader.GetOrdinal("VISIBILITA")) != "0";
            ragione.TipoDiritto      = OrgRagioneTrasmissione.ParseTipoDiritto(reader.GetString(reader.GetOrdinal("TIPO_DIRITTO")));
            ragione.TipoDestinatario = OrgRagioneTrasmissione.ParseTipoDestinatario(reader.GetString(reader.GetOrdinal("TIPO_DESTINATARIO")));
            ragione.Risposta         = reader.GetString(reader.GetOrdinal("RISPOSTA")) != "0";
            ragione.Eredita          = reader.GetString(reader.GetOrdinal("EREDITA")) != "0";
            if (reader.GetSchemaTable().Select("ColumnName='CHA_TIPO_TASK'").Length > 0)
            {
                if (!reader.IsDBNull(reader.GetOrdinal("CHA_TIPO_TASK")))
                {
                    ragione.TipoTask = reader.GetString(reader.GetOrdinal("CHA_TIPO_TASK")) != "0";
                }
                if (!reader.IsDBNull(reader.GetOrdinal("ID_TIPO_ATTO")))
                {
                    ragione.IdTipoAtto = reader.GetValue(reader.GetOrdinal("ID_TIPO_ATTO")).ToString();
                }
                if (!reader.IsDBNull(reader.GetOrdinal("CHA_CONTRIBUTO_OBBLIGATORIO")))
                {
                    ragione.ContributoTaskObbligatorio = reader.GetString(reader.GetOrdinal("CHA_CONTRIBUTO_OBBLIGATORIO")) != "0";
                }
            }
            if (!reader.IsDBNull(reader.GetOrdinal("CHA_FASC_OBBLIGATORIA")))
            {
                ragione.ClassificazioneObbligatoria = reader.GetString(reader.GetOrdinal("CHA_FASC_OBBLIGATORIA")) != "0";
            }
            else
            {
                ragione.ClassificazioneObbligatoria = false;
            }

            ragione.IDAmministrazione    = reader.GetValue(reader.GetOrdinal("ID_AMMINISTRAZIONE")).ToString();
            ragione.testoMsgNotificaDoc  = reader.GetValue(reader.GetOrdinal("VAR_TESTO_MSG_NOTIFICA_DOC")).ToString();
            ragione.testoMsgNotificaFasc = reader.GetValue(reader.GetOrdinal("VAR_TESTO_MSG_NOTIFICA_FASC")).ToString();
            if (!reader.IsDBNull(reader.GetOrdinal("CHA_MANTIENI_LETT")))
            {
                ragione.MantieniLettura = reader.GetString(reader.GetOrdinal("CHA_MANTIENI_LETT")) != "0";
            }
            //
            // Gestione Cessione Diritti: MantieniScrittura
            if (!reader.IsDBNull(reader.GetOrdinal("CHA_MANTIENI_SCRITT")))
            {
                ragione.MantieniScrittura = reader.GetString(reader.GetOrdinal("CHA_MANTIENI_SCRITT")) != "0";
            }
            // End
            //

            string tipoNotifica = string.Empty;

            if (!reader.IsDBNull(reader.GetOrdinal("NOTIFICA")))
            {
                tipoNotifica = reader.GetString(reader.GetOrdinal("NOTIFICA"));
            }
            ragione.TipoNotifica = OrgRagioneTrasmissione.ParseTipoNotifica(tipoNotifica);

            if (!reader.IsDBNull(reader.GetOrdinal("TIPO_RISPOSTA")))
            {
                ragione.PrevedeRisposta = reader.GetString(reader.GetOrdinal("TIPO_RISPOSTA")) == "R";             // R=true, C=false
            }
            // Ragioni di default in amministrazione
            if (!reader.IsDBNull(reader.GetOrdinal("ID_AMMINISTRAZIONE_TO")))
            {
                string idRagioneTo = reader.GetValue(reader.GetOrdinal("ID_AMMINISTRAZIONE_TO")).ToString();
                ragione.RagionePredefinitaDestinatari = (ragione.IDAmministrazione.Equals(idRagioneTo));
            }

            if (!reader.IsDBNull(reader.GetOrdinal("ID_AMMINISTRAZIONE_CC")))
            {
                string idRagioneCC = reader.GetValue(reader.GetOrdinal("ID_AMMINISTRAZIONE_CC")).ToString();
                ragione.RagionePredefinitaDestinatariCC = (ragione.IDAmministrazione.Equals(idRagioneCC));
            }

            if (!reader.IsDBNull(reader.GetOrdinal("CHA_CEDE_DIRITTI")))
            {
                ragione.PrevedeCessione = OrgRagioneTrasmissione.ParseCedeDiritti(reader.GetString(reader.GetOrdinal("CHA_CEDE_DIRITTI")));
            }
            else
            {
                ragione.PrevedeCessione = OrgRagioneTrasmissione.CedeDiritiEnum.No;
            }

            if (!reader.IsDBNull(reader.GetOrdinal("CHA_RAG_SISTEMA")))
            {
                ragione.DiSistema = OrgRagioneTrasmissione.ParseRagioneDiSistema(reader.GetString(reader.GetOrdinal("CHA_RAG_SISTEMA")));
            }
            else
            {
                ragione.DiSistema = OrgRagioneTrasmissione.RagioneDiSistemaEnum.No;
            }

            return(ragione);
        }
예제 #9
0
 /// <summary>
 /// Verifica vincoli in aggiornamento ragione trasmissione
 /// </summary>
 /// <param name="ragione"></param>
 /// <returns></returns>
 public static ValidationResultInfo CanUpdateRagioneTrasmissione(OrgRagioneTrasmissione ragione)
 {
     return(IsValidRequiredFieldsRagione(DBActionTypeRagioneEnum.UpdateMode, ragione));
 }
예제 #10
0
        /// <summary>
        /// Aggiornamento ragione trasmissione
        /// </summary>
        /// <param name="ragione"></param>
        /// <returns></returns>
        public static ValidationResultInfo UpdateRagioneTrasmissione(OrgRagioneTrasmissione ragione)
        {
            ValidationResultInfo retValue = CanUpdateRagioneTrasmissione(ragione);

            if (retValue.Value)
            {
                DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_U_UPDATE_RAGIONE_TRASMISSIONE");

                FillParameters(false, queryDef, ragione);

                string commandText = queryDef.getSQL();
                logger.Debug(commandText);

                DBProvider dbProvider = new DBProvider();

                try
                {
                    dbProvider.BeginTransaction();

                    int rowsAffected;
                    retValue.Value = (dbProvider.ExecuteNonQuery(commandText, out rowsAffected));

                    if (!retValue.Value || rowsAffected == 0)
                    {
                        retValue.Value = false;
                        retValue.BrokenRules.Add(new BrokenRule("DB_ERROR", "Errore nell'aggiornamento della ragione trasmissione"));
                    }

                    if (retValue.Value)
                    {
                        //Aggiorno la DPA_TIPO_RAGIONE
                        queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_U_DPA_TIPO_RAGIONE");
                        queryDef.setParam("idRagione", ragione.ID);
                        queryDef.setParam("chaTipoTask", GetStringParameterValue(ragione.TipoTask ? "1" : "0"));
                        queryDef.setParam("chaContributoObbligatorio", GetStringParameterValue(ragione.ContributoTaskObbligatorio ? "1" : "0"));
                        queryDef.setParam("idTipoAtto", !string.IsNullOrEmpty(ragione.IdTipoAtto) ? ragione.IdTipoAtto : "null");
                        commandText = queryDef.getSQL();
                        logger.Debug(commandText);
                        dbProvider.ExecuteNonQuery(commandText, out rowsAffected);

                        if (rowsAffected == 0)
                        {
                            queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_I_INSERT_DPA_TIPO_RAGIONE");
                            queryDef.setParam("idRagione", ragione.ID);
                            queryDef.setParam("codice", ragione.Codice);
                            queryDef.setParam("idAmm", ragione.IDAmministrazione);
                            queryDef.setParam("chaTipoTask", GetStringParameterValue(ragione.TipoTask ? "1" : "0"));
                            queryDef.setParam("chaContributoObbligatorio", GetStringParameterValue(ragione.ContributoTaskObbligatorio ? "1" : "0"));
                            queryDef.setParam("idTipoAtto", !string.IsNullOrEmpty(ragione.IdTipoAtto) ? ragione.IdTipoAtto : "null");

                            commandText = queryDef.getSQL();
                            logger.Debug(commandText);
                            dbProvider.ExecuteNonQuery(commandText, out rowsAffected);
                        }

                        dbProvider.CommitTransaction();

                        //
                        // MEV cessione Diritti - Mantieni lettura/scrittura
                        // Vengono aggiornati i modelli di trasmissione la cui ragione è stata modificata
                        #region Aggiornamento modelli di trasmissione
                        try
                        {
                            if (ragione != null)
                            {
                                int rowsAff = 0;
                                logger.Debug("Aggiornamento modelli trasmissione all'atto dell'aggiornamento della ragione di trasmissione");
                                logger.Debug("Begin Transaction");
                                dbProvider.BeginTransaction();

                                DocsPaUtils.Query queryUpd = DocsPaUtils.InitQuery.getInstance().getQuery("UPDATE_MODELLI_TRASMISSIONE_BY_RAGIONE");
                                //Set
                                queryUpd.setParam("paramMantieniLettura", GetStringParameterValue(ragione.MantieniLettura ? "1" : "0"));
                                queryUpd.setParam("paramMantieniScrittura", GetStringParameterValue(ragione.MantieniScrittura ? "1" : "0"));
                                //Where
                                queryUpd.setParam("paramIdRagione", ragione.ID);
                                queryUpd.setParam("paramIdAmm", ragione.IDAmministrazione);

                                string commandTextQuery = queryUpd.getSQL();
                                logger.Debug(commandTextQuery);

                                dbProvider.ExecuteNonQuery(commandTextQuery, out rowsAff);

                                dbProvider.CommitTransaction();
                                logger.Debug("Commit Transaction");
                                logger.Debug("End Aggiornamento modelli trasmissione all'atto dell'aggiornamento della ragione di trasmissione");
                            }
                        }
                        catch
                        {
                            dbProvider.RollbackTransaction();
                            logger.Debug("Rollback Transaction");
                            logger.Debug("End Aggiornamento modelli trasmissione all'atto dell'aggiornamento della ragione di trasmissione");
                        }
                        #endregion
                        // End MEV
                        //
                    }
                    else
                    {
                        dbProvider.RollbackTransaction();
                    }
                }
                catch
                {
                    dbProvider.RollbackTransaction();
                    retValue.Value = false;
                }
                finally
                {
                }
            }

            if (ragione.PrevedeCessione == OrgRagioneTrasmissione.CedeDiritiEnum.No)
            {
                if (!GetModelliConRagioneConCessione(ragione.ID))
                {
                    retValue.Value = false;
                    retValue.BrokenRules.Add(new BrokenRule("AVVISO", "Esistono modelli di trasmissione con questa ragione che hanno la cessione dei diritti impostata"));
                }
            }

            return(retValue);
        }
예제 #11
0
        /// <summary>
        /// Inserimento nuova ragione trasmissione
        /// </summary>
        /// <param name="ragione"></param>
        /// <returns></returns>
        public static ValidationResultInfo InsertRagioneTrasmissione(OrgRagioneTrasmissione ragione)
        {
            ValidationResultInfo retValue = CanInsertRagioneTrasmissione(ragione);

            if (retValue.Value)
            {
                DBProvider dbProvider = new DBProvider();

                try
                {
                    dbProvider.BeginTransaction();

                    // Reperimento systemID appena inserita
                    string commandText = "SELECT " + DocsPaDbManagement.Functions.Functions.GetSystemIdNextVal(null).Replace(",", "") + " FROM DUAL";
                    logger.Debug(commandText);

                    string systemID;
                    retValue.Value = dbProvider.ExecuteScalar(out systemID, commandText);

                    DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_I_INSERT_RAGIONE_TRASMISSIONE");
                    ragione.ID = systemID;
                    FillParameters(true, queryDef, ragione);

                    commandText = queryDef.getSQL();
                    logger.Debug(commandText);


                    int rowsAffected;
                    retValue.Value = (dbProvider.ExecuteNonQuery(commandText, out rowsAffected));

                    if (retValue.Value)
                    {
                        //INSERISCO NELLA DPA_TIPO_RAGIONE
                        queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_I_INSERT_DPA_TIPO_RAGIONE");
                        queryDef.setParam("idRagione", ragione.ID);
                        queryDef.setParam("codice", ragione.Codice);
                        queryDef.setParam("idAmm", ragione.IDAmministrazione);
                        queryDef.setParam("chaTipoTask", GetStringParameterValue(ragione.TipoTask ? "1" : "0"));
                        queryDef.setParam("chaContributoObbligatorio", GetStringParameterValue(ragione.ContributoTaskObbligatorio ? "1" : "0"));
                        queryDef.setParam("idTipoAtto", !string.IsNullOrEmpty(ragione.IdTipoAtto) ? ragione.IdTipoAtto : "null");

                        commandText = queryDef.getSQL();
                        logger.Debug(commandText);
                        dbProvider.ExecuteNonQuery(commandText, out rowsAffected);
                    }

                    if (retValue.Value)
                    {
                        dbProvider.CommitTransaction();
                    }
                    else
                    {
                        dbProvider.RollbackTransaction();
                    }
                }
                catch
                {
                    dbProvider.RollbackTransaction();
                    retValue.Value = false;
                }
                finally
                {
                    dbProvider.Dispose();
                }

                if (!retValue.Value)
                {
                    retValue.BrokenRules.Add(new BrokenRule("DB_ERROR", "Errore nell'inserimento della ragione trasmissione"));
                }
            }

            return(retValue);
        }