Esempio n. 1
0
        /// <summary>
        /// Reperimento funzione elementare da codice e id tipo funzione
        /// </summary>
        /// <param name="codiceFunzione"></param>
        /// <param name="idTipoFunzione"></param>
        /// <returns></returns>
        public static OrgFunzione GetFunzione(string codiceFunzione, int idTipoFunzione)
        {
            OrgFunzione retValue = null;

            DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_S_GET_FUNZIONE_ELEMENTARE_DA_CODICE");
            queryDef.setParam("codiceFunzione", codiceFunzione);
            queryDef.setParam("idTipoFunzione", idTipoFunzione.ToString());

            string commandText = queryDef.getSQL();

            logger.Debug(commandText);

            using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider())
            {
                using (System.Data.IDataReader reader = dbProvider.ExecuteReader(commandText))
                {
                    if (reader.Read())
                    {
                        retValue = CreateFunzione(reader);
                    }
                }
            }

            return(retValue);
        }
Esempio n. 2
0
        /// <summary>
        /// Aggiornamento del legame tra funzione e tipo funzione
        /// </summary>
        /// <param name="funzione"></param>
        /// <returns></returns>
        public static ValidationResultInfo Update(OrgFunzione funzione)
        {
            ValidationResultInfo retValue = new ValidationResultInfo();

            if (funzione.StatoFunzione != OrgFunzione.StatoOrgFunzioneEnum.Unchanged)
            {
                DBProvider dbProvider = new DBProvider();

                try
                {
                    dbProvider.BeginTransaction();

                    retValue.Value = Update(dbProvider, funzione);

                    if (retValue.Value)
                    {
                        dbProvider.CommitTransaction();
                    }
                    else
                    {
                        dbProvider.RollbackTransaction();

                        retValue.BrokenRules.Add(new DocsPaVO.Validations.BrokenRule("DB_ERROR", "Errore in aggiornamento della funzione"));
                    }
                }
                catch
                {
                    dbProvider.RollbackTransaction();
                    retValue.Value = false;
                }
                finally
                {
                    dbProvider.Dispose();
                    dbProvider = null;
                }
            }

            return(retValue);
        }
Esempio n. 3
0
        /// <summary>
        /// Creazione oggetto "OrgFunzione" da datareader
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        private static OrgFunzione CreateFunzione(System.Data.IDataReader reader)
        {
            OrgFunzione retValue = new OrgFunzione();

            if (!reader.IsDBNull(reader.GetOrdinal("ID_ASSOCIAZIONE")))
            {
                retValue.ID = reader.GetValue(reader.GetOrdinal("ID_ASSOCIAZIONE")).ToString();
            }

            if (!reader.IsDBNull(reader.GetOrdinal("ID_TIPO_FUNZIONE")))
            {
                retValue.IDTipoFunzione = reader.GetValue(reader.GetOrdinal("ID_TIPO_FUNZIONE")).ToString();
            }

            string associato = reader.GetString(reader.GetOrdinal("ASSOCIATO"));

            retValue.Associato = Convert.ToBoolean(associato);

            retValue.FunzioneAnagrafica = CreateFunzioneAnagrafica(reader);

            return(retValue);
        }
Esempio n. 4
0
        /// <summary>
        /// Aggiornamento legame funzione - tipo funzione
        /// </summary>
        /// <param name="dbProvider"></param>
        /// <param name="funzione"></param>
        /// <returns></returns>
        internal static bool Update(DBProvider dbProvider, OrgFunzione funzione)
        {
            bool retValue = false;

            bool insertMode = (funzione.StatoFunzione == DocsPaVO.amministrazione.OrgFunzione.StatoOrgFunzioneEnum.Inserted);
            bool deleteMode = (funzione.StatoFunzione == DocsPaVO.amministrazione.OrgFunzione.StatoOrgFunzioneEnum.Deleted);

            DocsPaUtils.Query queryDef    = null;
            string            commandText = string.Empty;

            if (insertMode)
            {
                // Inserimento del legame tra tipo funzione e anagrafica funzione
                queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_I_INSERT_FUNZIONE_ELEMENTARE");
                queryDef.setParam("colSystemID", DocsPaDbManagement.Functions.Functions.GetSystemIdColName());
                queryDef.setParam("systemID", DocsPaDbManagement.Functions.Functions.GetSystemIdNextVal(null));
                queryDef.setParam("codiceFunzione", GetStringParameterValue(funzione.FunzioneAnagrafica.Codice));
                queryDef.setParam("idTipoFunzione", funzione.IDTipoFunzione);
                queryDef.setParam("chaTipoFunz", GetStringParameterValue(funzione.FunzioneAnagrafica.TipoFunzione));
                queryDef.setParam("descrizioneFunzione", GetStringParameterValue(funzione.FunzioneAnagrafica.Codice));
                queryDef.setParam("idAmm", funzione.IDAmministrazione);
            }
            else if (deleteMode)
            {
                // Cancellazione del legame tra tipo funzione e anagrafica funzione
                queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_D_DELETE_FUNZIONE_ELEMENTARE");
                queryDef.setParam("systemID", funzione.ID);
            }

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

            int rowsAffected = 0;

            try
            {
                retValue = dbProvider.ExecuteNonQuery(commandText, out rowsAffected);
                retValue = (retValue && rowsAffected == 1);

                if (retValue)
                {
                    if (insertMode)
                    {
                        // Reperimento e impostazione systemID appena inserita
                        commandText = DocsPaDbManagement.Functions.Functions.GetQueryLastSystemIdInserted();
                        logger.Debug(commandText);

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

                        if (retValue)
                        {
                            funzione.ID = outParam;
                        }
                    }
                    else if (deleteMode)
                    {
                        // Funzione non più presente su database,
                        // rimozione degli id
                        funzione.ID             = string.Empty;
                        funzione.IDTipoFunzione = string.Empty;
                    }

                    // Impostazione dello stato della funzione
                    funzione.StatoFunzione = DocsPaVO.amministrazione.OrgFunzione.StatoOrgFunzioneEnum.Unchanged;
                }
            }
            catch
            {
                retValue = false;
            }
            finally
            {
            }

            return(retValue);
        }