Ejemplo n.º 1
0
        public static OrgTipoFunzione GetTipoFunzioneByCod(string codFunzione, bool fillFunzioniElementari)
        {
            OrgTipoFunzione retValue = null;

            DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_S_GET_TIPO_FUNZIONE_BY_COD");
            queryDef.setParam("codFunzione", codFunzione);

            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 = CreateTipoFunzione(reader);

                        if (fillFunzioniElementari)
                        {
                            retValue.Funzioni = FunzioniManager.GetFunzioni(retValue.IDTipoFunzione);
                        }
                    }
                }
            }

            return(retValue);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Cancellazione di un tipo funzione
        /// </summary>
        /// <param name="tipoFunzione"></param>
        /// <returns></returns>
        public static ValidationResultInfo DeleteTipoFunzione(OrgTipoFunzione tipoFunzione)
        {
            ValidationResultInfo retValue = CanDeleteTipoFunzione(tipoFunzione);

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

                try
                {
                    // Cancellazione tipo funzione
                    DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_D_DELETE_TIPO_FUNZIONE");
                    queryDef.setParam("systemID", tipoFunzione.IDTipoFunzione);

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

                    int rowsAffected = 0;

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

                    if (retValue.Value)
                    {
                        // Cancellazione funzioni elementari
                        queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_D_DELETE_FUNZIONI_TIPO_FUNZIONE");
                        queryDef.setParam("idTipoFunzione", tipoFunzione.IDTipoFunzione);

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

                        retValue.Value = dbProvider.ExecuteNonQuery(commandText);
                    }

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

            return(retValue);
        }
Ejemplo n.º 3
0
        private static OrgTipoFunzione CreateTipoFunzione(System.Data.IDataReader reader)
        {
            OrgTipoFunzione retValue = new OrgTipoFunzione();

            retValue.IDTipoFunzione    = reader.GetValue(reader.GetOrdinal("ID")).ToString();
            retValue.Codice            = reader.GetValue(reader.GetOrdinal("CODICE")).ToString();
            retValue.Descrizione       = reader.GetValue(reader.GetOrdinal("DESCRIZIONE")).ToString();
            retValue.IDAmministrazione = string.Empty;

            return(retValue);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Aggiornamento di un tipo funzione
        /// </summary>
        /// <param name="tipoFunzione"></param>
        /// <returns></returns>
        public static ValidationResultInfo UpdateTipoFunzione(OrgTipoFunzione tipoFunzione)
        {
            ValidationResultInfo retValue = CanUpdateTipoFunzione(tipoFunzione);

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

                try
                {
                    dbProvider.BeginTransaction();

                    // Aggiornamento tipo funzione
                    DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_U_UPDATE_TIPO_FUNZIONE");
                    queryDef.setParam("descrizione", GetStringParameterValue(tipoFunzione.Descrizione));
                    queryDef.setParam("systemID", tipoFunzione.IDTipoFunzione);

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

                    int rowsAffected = 0;

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

                    if (retValue.Value && tipoFunzione.Funzioni != null && tipoFunzione.Funzioni.Length > 0)
                    {
                        // Aggiornamento funzioni elementari
                        retValue.Value = UpdateFunzioniElementari(dbProvider, tipoFunzione);
                    }

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

            return(retValue);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Verifica cancellazione tipo funzione
        /// </summary>
        /// <param name="tipoFunzione"></param>
        /// <returns></returns>
        public static ValidationResultInfo CanDeleteTipoFunzione(OrgTipoFunzione tipoFunzione)
        {
            ValidationResultInfo retValue = IsValidRequiredFieldsTipoFunzione(DBActionTypeTipoFunzioneEnum.DeleteMode, tipoFunzione);

            if (retValue.Value)
            {
                // Verifica presenza del tipo funzione in almeno un ruolo
                if (ContainsRuoli(tipoFunzione))
                {
                    retValue.Value = false;
                    retValue.BrokenRules.Add(new BrokenRule("CONTAINS_ROLE", "Al tipo funzione risulta associato almeno un ruolo in organigramma"));
                }
            }
            return(retValue);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Verifica inserimento tipo funzione
        /// </summary>
        /// <param name="tipoFunzione"></param>
        /// <returns></returns>
        public static ValidationResultInfo CanInsertTipoFunzione(OrgTipoFunzione tipoFunzione)
        {
            ValidationResultInfo retValue = IsValidRequiredFieldsTipoFunzione(DBActionTypeTipoFunzioneEnum.InsertMode, tipoFunzione);

            if (retValue.Value)
            {
                // Verifica univocità codice tipo funzione
                if (ContainsCodiceTipoFunzione(tipoFunzione))
                {
                    retValue.Value = false;
                    retValue.BrokenRules.Add(new BrokenRule("CODICE_TIPO_FUNZIONE", "Codice tipo funzione già presente"));
                }
            }

            return(retValue);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Verifica aggiornamento tipo funzione
        /// </summary>
        /// <param name="tipoFunzione"></param>
        /// <returns></returns>
        public static ValidationResultInfo CanUpdateTipoFunzione(OrgTipoFunzione tipoFunzione)
        {
            ValidationResultInfo retValue = IsValidRequiredFieldsTipoFunzione(DBActionTypeTipoFunzioneEnum.UpdateMode, tipoFunzione);

            return(retValue);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Inserimento di un tipo funzione
        /// </summary>
        /// <param name="tipoFunzione"></param>
        /// <returns></returns>
        public static ValidationResultInfo InsertTipoFunzione(OrgTipoFunzione tipoFunzione)
        {
            ValidationResultInfo retValue = CanInsertTipoFunzione(tipoFunzione);

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

                try
                {
                    dbProvider.BeginTransaction();

                    // Inserimento tipo funzione
                    DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_I_INSERT_TIPO_FUNZIONE");
                    queryDef.setParam("colSystemID", DocsPaDbManagement.Functions.Functions.GetSystemIdColName());
                    queryDef.setParam("systemID", DocsPaDbManagement.Functions.Functions.GetSystemIdNextVal(null));
                    queryDef.setParam("codice", GetStringParameterValue(tipoFunzione.Codice));
                    queryDef.setParam("descrizione", GetStringParameterValue(tipoFunzione.Descrizione));
                    queryDef.setParam("idAmm", tipoFunzione.IDAmministrazione);
                    string commandText = queryDef.getSQL();
                    logger.Debug(commandText);

                    int rowsAffected = 0;

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

                    if (retValue.Value && tipoFunzione.Funzioni != null)
                    {
                        // Reperimento SystemID tipo funzione
                        commandText = DocsPaDbManagement.Functions.Functions.GetQueryLastSystemIdInserted();
                        logger.Debug(commandText);
                        string systemID;
                        retValue.Value = dbProvider.ExecuteScalar(out systemID, commandText);

                        if (retValue.Value)
                        {
                            tipoFunzione.IDTipoFunzione = systemID;

                            // Inserimento funzioni elementari
                            if (tipoFunzione.Funzioni != null && tipoFunzione.Funzioni.Length > 0)
                            {
                                retValue.Value = UpdateFunzioniElementari(dbProvider, tipoFunzione);
                            }
                        }
                        else
                        {
                            retValue.BrokenRules.Add(new BrokenRule("DB_ERROR", "Errore in inserimento del tipo funzione"));
                        }
                    }
                    else
                    {
                        retValue.BrokenRules.Add(new BrokenRule("DB_ERROR", "Errore in inserimento del tipo funzione"));
                    }

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

            return(retValue);
        }