public AnteprimaReportRiparto(IList<ReportRipartizioneBilancioDTO> dataSource, CondominioDTO condominio, EsercizioDTO esercizio, BilancioConsuntivoReportParameters parameters, ImpostazioneReportDTO impostazioneReportDTO) { InitializeComponent(); _dataSource = dataSource; _condominio = condominio; _esercizio = esercizio; _parameters = parameters; _impostazioneReportDTO = impostazioneReportDTO; Text = $"Riparto {_impostazioneReportDTO.Descrizione}"; try { _importoTotale = getBilancioService().GetTotale(dataSource.ToList()); _importoPreventivo = getBilancioService().GetTotalePreventivo(dataSource.ToList()); IReportProvider document; if(_impostazioneReportDTO.MultiPageOrdered) document = new RipartoMerge(dataSource, _condominio, _esercizio, _parameters, _impostazioneReportDTO, _importoTotale, _importoPreventivo); else document = new RipartoSubreport(dataSource, _condominio, _esercizio, _parameters, _impostazioneReportDTO, _importoTotale, _importoPreventivo); SetDataSource(document.GetReport(), _impostazioneReportDTO); } catch (Exception ex) { _log.ErrorFormat("Errore nell'apertura della maschera di anteprima per riparto - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), _condominio?.ID.ToString(CultureInfo.InvariantCulture) ?? "<NULL>", Login.Instance.CurrentLogin().Azienda); Close(); } }
protected override void Execute(string itemClicked, AutomazioneParameters parameters, IList<PersonaContattoDTO> personeSelezionate) { var document = new RipartoMerge(_dataSource, _condominio, _esercizio, _parameters, _impostazioneReportDTO, _importoTotale, _importoPreventivo); switch (itemClicked) { case "PDF": var fileName = $@"{parameters.SelectedPath}\{_condominio.Codice} - {Conversione.ToFileName(_condominio.Descrizione)}.pdf"; document.ExportToPdf(fileName); break; case "Messaggio": var stream = new MemoryStream(); document.ExportToPdf(stream); PersoneMessaggio = new List<PersonaMessaggioDTO>(personeSelezionate.Count); foreach (var persona in personeSelezionate) { var personaMessaggio = new PersonaMessaggioDTO { ID = persona.ID, NomeMessaggio = $"RipartoConsuntivo_{DateTime.Now.ToString("dd-mm-yyyy")}", OggettoMessaggio = parameters.OggettoMessaggio, DocumentoMessaggio = stream.ToArray(), TestoMessaggio = parameters.TestoMessaggio, TipoIndirizzo = TipoIndirizzo.Recapito, Contatti = new List<ContattoDTO>() }; var email = persona.EmailCertificata; if (string.IsNullOrEmpty(email)) email = persona.Email; personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Email", Valore = email }); personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Fax", Valore = persona.Fax }); personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Cellulare", Valore = persona.Cellulare }); PersoneMessaggio.Add(personaMessaggio); } break; } }