/// <summary> /// Launcher per l'azione di esportazione, contiene il metodo standard di handling per eventuali errori. /// </summary> /// <param name="siglaEntita">Sigla dell'entità dell'export.</param> /// <param name="siglaAzione">Sigla dell'azione dell'export</param> /// <param name="desEntita">Descrizione dell'entità.</param> /// <param name="desAzione">Descrizione dell'azione.</param> /// <param name="dataRif">La data di riferimento per cui esportare i dati.</param> /// <returns>True se l'azione di esportazione è andata a buon fine, false altrimenti.</returns> public virtual bool RunExport(object siglaEntita, object siglaAzione, object desEntita, object desAzione, DateTime dataRif, string[] mercati) { try { if (EsportaAzioneInformazione(siglaEntita, siglaAzione, desEntita, desAzione, dataRif, mercati)) { if (DataBase.OpenConnection()) { DataBase.InsertApplicazioneRiepilogo(siglaEntita, siglaAzione, dataRif); } DataBase.CloseConnection(); return(true); } return(false); } catch (Exception e) { if (DataBase.OpenConnection()) { Workbook.InsertLog(PSO.Core.DataBase.TipologiaLOG.LogErrore, "RunExport [" + siglaEntita + ", " + siglaAzione + "]: " + e.Message); } DataBase.CloseConnection(); System.Windows.Forms.MessageBox.Show(e.Message, Simboli.NomeApplicazione + " - ERRORE!!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); return(false); } }
/// <summary> /// Launcher dell'azione di caricamento/generazione dei dati. /// </summary> /// <param name="siglaEntita">Sigla dell'entità di cui caricare/generare i dati.</param> /// <param name="siglaAzione">Sigla dell'azione per cui è richiesto il caricamento dei dati.</param> /// <param name="azionePadre">Sigla dell'azione padre (di solito CARICAx o GENERA).</param> /// <param name="giorno">Data di riferimento.</param> /// <param name="mercati">Mercati da considerare nell'azione.</param> /// <param name="parametro">Parametro da specificare alla storedProcedure CARICA_AZIONE_INFORMAZIONE nel caso sia necessario.</param> /// <returns>True se il caricamento va a buon fine.</returns> public override bool AzioneInformazione(object siglaEntita, object siglaAzione, object azionePadre, DateTime giorno, string[] mercati, object parametro = null) { DefinedNames definedNames = new DefinedNames(DefinedNames.GetSheetName(siglaEntita)); try { AzzeraInformazione(siglaEntita, siglaAzione, definedNames, giorno, mercati, azionePadre.ToString().StartsWith("CARICA")); if (DataBase.OpenConnection()) { if (azionePadre.Equals("GENERA")) { if (mercati != null) { foreach (string mercato in mercati) { SpecMercato m = Simboli.MercatiMB["MB" + mercato]; ElaborazioneInformazione(siglaEntita, siglaAzione, definedNames, giorno, m.Inizio, Math.Min(Date.GetOreGiorno(giorno), m.Fine)); } } else { ElaborazioneInformazione(siglaEntita, siglaAzione, definedNames, giorno); } DataBase.InsertApplicazioneRiepilogo(siglaEntita, siglaAzione, giorno); } else { DataTable azioneInformazione = null; if (mercati != null) { azioneInformazione = DataBase.Select(DataBase.SP.CARICA_AZIONE_INFORMAZIONE, "@SiglaEntita=" + siglaEntita + ";@SiglaAzione=" + siglaAzione + ";@Parametro=" + String.Join(",", mercati) + ";@Data=" + giorno.ToString("yyyyMMdd")); } else { azioneInformazione = DataBase.Select(DataBase.SP.CARICA_AZIONE_INFORMAZIONE, "@SiglaEntita=" + siglaEntita + ";@SiglaAzione=" + siglaAzione + ";@Parametro=" + parametro + ";@Data=" + giorno.ToString("yyyyMMdd")); } if (azioneInformazione != null) { if (azioneInformazione.Rows.Count == 0) { DataBase.InsertApplicazioneRiepilogo(siglaEntita, siglaAzione, giorno, false); return(false); } else { ScriviInformazione(siglaEntita, azioneInformazione.DefaultView, definedNames); DataBase.InsertApplicazioneRiepilogo(siglaEntita, siglaAzione, giorno); } } } Sheet s = new Sheet(Workbook.Sheets[definedNames.Sheet]); s.AggiornaGrafici(); return(true); } else { if (azionePadre.Equals("GENERA")) { ElaborazioneInformazione(siglaEntita, siglaAzione, definedNames, giorno); Sheet s = new Sheet(Workbook.Sheets[definedNames.Sheet]); s.AggiornaGrafici(); return(true); } return(false); } } catch (Exception e) { Workbook.InsertLog(PSO.Core.DataBase.TipologiaLOG.LogErrore, "CaricaAzioneInformazione [" + siglaEntita + ", " + siglaAzione + "]: " + e.Message); System.Windows.Forms.MessageBox.Show(e.Message, Simboli.NomeApplicazione + " - ERRORE!!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); return(false); } }