コード例 #1
1
        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();
            }
        }
コード例 #2
0
        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;
            }
        }