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); }
/// <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); }
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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }