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> /// Reperimento di tutti i tipi funzione disponibili /// </summary> /// <param name="fillFunzioniElementari">Specifica se caricare o meno le funzioni elementari</param> /// <returns></returns> public static OrgTipoFunzione[] GetTipiFunzione(bool fillFunzioniElementari, string idAmm) { ArrayList retValue = new ArrayList(); DocsPaUtils.Query queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("AMM_S_GET_TIPI_FUNZIONE"); queryDef.setParam("idAmm", idAmm); 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()) { DocsPaVO.amministrazione.OrgTipoFunzione tipoFunzione = CreateTipoFunzione(reader); if (fillFunzioniElementari) { tipoFunzione.Funzioni = FunzioniManager.GetFunzioni(tipoFunzione.IDTipoFunzione); } retValue.Add(tipoFunzione); } } } return((OrgTipoFunzione[])retValue.ToArray(typeof(OrgTipoFunzione))); }
/// <summary> /// Inserimento / aggiornamento funzioni elementari,solo se modificate /// </summary> /// <param name="dbProvider"></param> /// <param name="funzioni"></param> /// <returns></returns> private static bool UpdateFunzioniElementari(DBProvider dbProvider, DocsPaVO.amministrazione.OrgTipoFunzione tipoFunzione) { bool retValue = true; foreach (OrgFunzione funzione in tipoFunzione.Funzioni) { if (funzione.StatoFunzione != OrgFunzione.StatoOrgFunzioneEnum.Unchanged) { funzione.IDTipoFunzione = tipoFunzione.IDTipoFunzione; retValue = FunzioniManager.Update(dbProvider, funzione); if (!retValue) { break; } } } return(retValue); }
/// <summary> /// Esportazione funzioni e microfunzioni /// </summary> /// <param name="tipoReport"></param> /// <param name="idFunzione"></param> /// <param name="idAmm"></param> /// <returns></returns> public static DocsPaVO.documento.FileDocumento ReportFunzioni(string tipoReport, string formato, string idFunzione, string idAmm) { DocsPaVO.documento.FileDocumento report = new DocsPaVO.documento.FileDocumento(); try { // filtri report List <DocsPaVO.filtri.FiltroRicerca> filters = new List <DocsPaVO.filtri.FiltroRicerca>(); filters.Add(new DocsPaVO.filtri.FiltroRicerca() { argomento = "id_amm", valore = idAmm }); filters.Add(new DocsPaVO.filtri.FiltroRicerca() { argomento = "id_funzione", valore = idFunzione }); // request generazione report DocsPaVO.Report.PrintReportRequest request = new DocsPaVO.Report.PrintReportRequest(); request.SearchFilters = filters; // selezione formato report switch (formato) { case "XLS": request.ReportType = DocsPaVO.Report.ReportTypeEnum.Excel; break; case "ODS": request.ReportType = DocsPaVO.Report.ReportTypeEnum.ODS; break; } string descrizione = string.Empty; // selezione tipo report switch (tipoReport) { case "MACRO_FUNZ": descrizione = GetTipoFunzioneByCod(idFunzione, false).Descrizione; request.ContextName = "AmmExportMacroFunzioni"; request.ReportKey = "AmmExportMacroFunzioni"; request.Title = string.Empty; request.SubTitle = string.Format("Codice: {0} - Descrizione: {1}", idFunzione, descrizione); request.AdditionalInformation = string.Empty; break; case "MICRO_FUNZ": descrizione = FunzioniManager.GetAnagraficaPerReport(idFunzione).Descrizione; request.ContextName = "AmmExportMicroFunzioni"; request.ReportKey = "AmmExportMicroFunzioni"; request.Title = "Dettaglio ruoli e tipi funzione associati alla funzione."; request.SubTitle = string.Format("Codice : {0} - Descrizione: {1}", idFunzione, descrizione); request.AdditionalInformation = string.Empty; break; } report = BusinessLogic.Reporting.ReportGeneratorCommand.GetReport(request).Document; } catch (Exception ex) { logger.Debug(ex.Message); } return(report); }