protected override void Execute(string itemClicked, AutomazioneParameters parameters, IList<PersonaContattoDTO> personeSelezionate)
        {
            var document = new BilancioAnnuale(_dataSource, _condominio, _esercizio, _parameters, _impostazioneReportDTO, _reportKey);

            switch (itemClicked)
            {
                case "PDF":
                    var fileName = string.Format(@"{0}\{1} - {2}.pdf", parameters.SelectedPath, _condominio.Codice, Conversione.ToFileName(_condominio.Descrizione));
                    try
                    {
                        document.ExportToPdf(fileName);
                    }
                    catch (IOException ex)
                    {
                        fileName = string.Format(@"{0}\{1} - {2}_{3}.pdf", parameters.SelectedPath, _condominio.Codice, Conversione.ToFileName(_condominio.Descrizione), Guid.NewGuid());
                        document.ExportToPdf(fileName);
                        throw;
                    }
                    break;

                case "Messaggio":
                    PersoneMessaggio = new List<PersonaMessaggioDTO>(personeSelezionate.Count);
                    foreach (var persona in personeSelezionate)
                    {
                        var stream = new MemoryStream();
                        document.ExportToPdf(stream);

                        var personaMessaggio = new PersonaMessaggioDTO
                        {
                            ID = persona.ID,
                            NomeMessaggio = string.Format("RipartoConsuntivo_{0}", 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;
            }
        }
Example #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;
            }
        }
 protected virtual void Execute(string itemClicked, AutomazioneParameters parameters) { }
        protected override void Execute(string itemClicked, AutomazioneParameters parameters)
        {
            var dataSource = reportViewer1.LocalReport.DataSources[0].Value;
            switch (itemClicked)
            {
                case "PDF":
                    foreach (var itemDataSource in _datiSituazioneContabile)
                    {
                        loadReportDataSource(new List<SituazioneCondominoContabileDTO> { itemDataSource });
                        var pdf = SetPDF();
                        var fileName = parameters.SelectedPath + $@"\{itemDataSource.OrdinePersona} - {itemDataSource.NominativoPersona}.pdf";

                        try
                        {
                            File.WriteAllBytes(fileName, pdf);
                        }
                        catch (DirectoryNotFoundException)
                        {
                            CommonMessages.DisplayWarning("Non è possibile l'esportazione pdf perchè la cartella selezionata non è valida");
                        }
                        catch (Exception ex)
                        {
                            _log.ErrorFormat("Errore nell'esportazione pdf - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
                            CommonMessages.DisplayWarning($"Errore nell'esportazione pdf.{Environment.NewLine}Si prega di riprovare");
                        }
                    }
                    break;

                case "Messaggio":
                    PersoneMessaggio = new List<PersonaMessaggioDTO>(_datiSituazioneContabile.Count);
                    foreach (var persona in _persone)
                    {
                        var datiSituazioneContabilePersona = _datiSituazioneContabile.Where(item => item.IdPersona == persona.ID).ToList();
                        loadReportDataSource(datiSituazioneContabilePersona);
                        var pdf = SetPDF();
                        var personaMessaggio = new PersonaMessaggioDTO
                        {
                            ID = persona.ID,
                            NomeMessaggio = $"SituazionePersonale_{DateTime.Now.ToString("dd-mm-yyyy")}",
                            OggettoMessaggio = parameters.OggettoMessaggio,
                            DocumentoMessaggio = pdf,
                            TestoMessaggio = parameters.TestoMessaggio,
                            TipoIndirizzo = persona.Indirizzo.RecapitoResidenza,
                            Importo = datiSituazioneContabilePersona.Sum(item => item.ImportoDare.GetValueOrDefault() + item.ImportoAvere.GetValueOrDefault()),
                            Contatti = new List<ContattoDTO>()
                        };

                        //                            var email = persona.EmailCertificata;
                        var email = string.Empty;
                        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;
            }

            loadReportDataSource((IEnumerable<SituazioneCondominoContabileDTO>)dataSource);
        }
Example #5
0
        protected override void Execute(string itemClicked, AutomazioneParameters parameters)
        {
            var dataSource = reportViewer1.LocalReport.DataSources[0].Value;
            switch (itemClicked)
            {
                case "PDF":
                    foreach (var certificazioneDataSource in _datiCertificazione)
                    {
                        try
                        {
                            loadReportDataSource(new List<DatiCertificazioneDTO> { certificazioneDataSource });
                            var pdf = SetPDF();
                            var fileName = parameters.SelectedPath + @"\" + Conversione.ToFileName(string.Format(@"{0} - {1}.pdf", certificazioneDataSource.IdCondominio.ToString().PadLeft(6, '0'), certificazioneDataSource.IdFornitore.ToString().PadLeft(6, '0')));
                            File.WriteAllBytes(fileName, pdf);
                        }
                        catch (Exception ex)
                        {
                            _log.ErrorFormat("Errore durante la suddivisione in singoli PDF della lettera di sollecito - {0} - condominio:{1} - fornitore:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), certificazioneDataSource.IdCondominio, certificazioneDataSource.IdFornitore, Security.Login.Instance.CurrentLogin().Azienda);
                            throw;
                        }
                    }
                    break;

                case "Messaggio":
                    PersoneMessaggio = new List<PersonaMessaggioDTO>(_datiCertificazione.Count);
                    foreach (var itemDataSource in _datiCertificazione)
                    {
                        loadReportDataSource(new List<DatiCertificazioneDTO> { itemDataSource });
                        var pdf = SetPDF();
                        var personaMessaggio = new PersonaMessaggioDTO
                        {
                            ID = itemDataSource.IdPersona,
                            NomeMessaggio = string.Format("Certificazione_{0}", DateTime.Now.ToString("dd-mm-yyyy")),
                            OggettoMessaggio = parameters.OggettoMessaggio,
                            DocumentoMessaggio = pdf,
                            TestoMessaggio = parameters.TestoMessaggio,
                            TipoIndirizzo = TipoIndirizzo.Recapito ,
                            Importo = itemDataSource.Dettaglio.Sum(item => item.ImportoRitenuta),
                            Contatti = new List<ContattoDTO>()
                        };

                        var persona = _personaService.GetCacheById(itemDataSource.IdPersona);
                        if (persona != null)
                        {
                            var mail = persona.EmailCertificata;
                            if (string.IsNullOrEmpty(mail))
                                mail = persona.Email;

                            personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Email", Valore = mail });
                            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;
            }

            loadReportDataSource((IEnumerable<DatiCertificazioneDTO>)dataSource);
        }
        protected override void Execute(string itemClicked, AutomazioneParameters parameters)
        {
            var dataSource = reportViewer1.LocalReport.DataSources[0].Value;
            switch (itemClicked)
            {
                case "PDF":
                    foreach (var itemDataSource in _datiSituazioneContabile)
                    {
                        loadReportDataSource(new List<SituazioneSoggettoCondominioDTO> { itemDataSource });
                        var pdf = SetPDF();
                        var fileName = parameters.SelectedPath + $@"\{itemDataSource.OrdineUnitaImmobiliare} - {Gipasoft.Library.Conversione.ToFileName(itemDataSource.DisplayNominativo)}.pdf";

                        try
                        {
                            File.WriteAllBytes(fileName, pdf);
                        }
                        catch (DirectoryNotFoundException ex)
                        {
                            CommonMessages.DisplayWarning($"Non è possibile creare il file pdf nella cartella selezionata.{Environment.NewLine}Verificare che la cartela sia ancora esistente");                        
                        }
                        catch (Exception ex)
                        {
                            _log.ErrorFormat("Errore nella creazione del pdf - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
                            CommonMessages.DisplayWarning($"Errore nella creazione del file pdf.{Environment.NewLine}Verificare che il percorso selezionato sia corretto");
                        }
                    }
                    break;

                case "Messaggio":
                    PersoneMessaggio = new List<PersonaMessaggioDTO>(_datiSituazioneContabile.Count);
                    foreach (var itemDataSource in _datiSituazioneContabile)
                    {
                        var source = itemDataSource;
                        var datiRatePersona = _datiRate.Where(item => item.IdPersona == source.IdPersona);
                        var datiVersamentiPersona = _datiVersamenti.Where(item => item.IdPersona == source.IdPersona);
                        var importo = datiRatePersona.Sum(item => item.Importo) - datiVersamentiPersona.Sum(item => item.Importo);

                        loadReportDataSource(new List<SituazioneSoggettoCondominioDTO> { itemDataSource });
                        var pdf = SetPDF();
                        var personaMessaggio = new PersonaMessaggioDTO
                        {
                            ID = itemDataSource.IdPersona,
                            NomeMessaggio = $"SituazioneCondomino_{DateTime.Now.ToString("dd-mm-yyyy")}",
                            OggettoMessaggio = parameters.OggettoMessaggio,
                            DocumentoMessaggio = pdf,
                            TestoMessaggio = parameters.TestoMessaggio,
                            TipoIndirizzo = TipoIndirizzo.Recapito,
                            Importo = importo,
                            Contatti = new List<ContattoDTO>()
                        };

                        var persona = getPersonaService().GetCacheById(itemDataSource.IdPersona);
                        if (persona != null)
                        {
                            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;
            }

            loadReportDataSource((IEnumerable<SituazioneSoggettoCondominioDTO>)dataSource);
        }
        protected override void Execute(string itemClicked, AutomazioneParameters parameters)
        {
            var dataSource = reportViewer1.LocalReport.DataSources[0].Value;
            switch (itemClicked)
            {
                case "PDF":
                    foreach (var singleDataSource in _dataSource)
                    {
                        try
                        {
                            loadReportDataSource(new List<ImportiPersonaDTO> { singleDataSource });
                            var pdf = SetPDF();
                            var fileName = parameters.SelectedPath + @"\" + Conversione.ToFileName($@"{_condominio.ID.ToString().PadLeft(6, '0')} - {singleDataSource.ID.ToString().PadLeft(6, '0')}.pdf");

                            try
                            {
                                File.WriteAllBytes(fileName, pdf);
                            }
                            catch (DirectoryNotFoundException ex)
                            {
                                CommonMessages.DisplayWarning($"Attenzione la cartella {fileName} non è stata trovata.{Environment.NewLine}Si prega di correggere l'errore e di riprovare");
                            }
                            catch (Exception ex)
                            {
                                CommonMessages.DisplayWarning(string.Format("Attenzione si è verificato un errore inaspettato:{1}{0}{1}Si prega di correggere l'errore e di riprovare", ex.Message, Environment.NewLine));
                            }
                        }
                        catch (Exception ex)
                        {
                            _log.ErrorFormat("Errore durante la suddivisione in singoli PDF della lettera di sollecito - {0} - condominio:{1} - persona:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), _condominio.ID, singleDataSource.ID, Security.Login.Instance.CurrentLogin().Azienda);
                            throw;
                        }
                    }
                    break;

                case "Messaggio":
                    PersoneMessaggio = new List<PersonaMessaggioDTO>(_dataSource.Count);
                    foreach (var itemDataSource in _dataSource)
                    {
                        var persona = _personaService.GetCacheById(itemDataSource.ID);
                        if (persona != null)
                        {
                            loadReportDataSource(new List<ImportiPersonaDTO> { itemDataSource });
                            var pdf = SetPDF();
                            var personaMessaggio = new PersonaMessaggioDTO
                            {
                                ID = persona.ID,
                                NomeMessaggio = $"LetteraDetrazione_{DateTime.Now.ToString("dd-mm-yyyy")}",
                                OggettoMessaggio = parameters.OggettoMessaggio,
                                DocumentoMessaggio = pdf,
                                TestoMessaggio = parameters.TestoMessaggio,
                                TipoIndirizzo = TipoIndirizzo.Recapito,
                                Importo = itemDataSource.Importo,
                                Contatti = new List<ContattoDTO>()
                            };

                            var mail = persona.EmailCertificata;
                            if (string.IsNullOrEmpty(mail))
                                mail = persona.Email;

                            personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Email", Valore = mail });
                            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;
            }

            loadReportDataSource((IEnumerable<ImportiPersonaDTO>)dataSource);
        }
Example #8
0
        protected override void Execute(string itemClicked, AutomazioneParameters parameters)
        {
            try
            {
                var dataSource = reportViewer1.LocalReport.DataSources[0].Value;
                switch (itemClicked)
                {
                    case "PDF":
                        foreach (var sollecitoDataSource in _datiSollecito)
                        {
                            try
                            {
                                loadReportDataSource(new List<TestataSollecitoDTO> {sollecitoDataSource});
                                var pdf = SetPDF();
                                var fileName = parameters.SelectedPath + @"\" + Conversione.ToFileName(string.Format(@"{0} - {1}.pdf", sollecitoDataSource.Ordine, sollecitoDataSource.Nominativo));
                                File.WriteAllBytes(fileName, pdf);
                            }
                            catch (IOException ex)
                            {
                                _log.ErrorFormat("Errore durante la suddivisione in singoli PDF della lettera di sollecito - {0} - sollecito:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), sollecitoDataSource.Id, Security.Login.Instance.CurrentLogin().Azienda);
                                CommonMessages.DisplayWarning("Errore nella creazione dei file pdf, verificare che la cartella selezionata sia ancora accessibile e riprovare.");
                                return;
                            }
                            catch (Exception ex)
                            {
                                _log.ErrorFormat("Errore durante la suddivisione in singoli PDF della lettera di sollecito - {0} - sollecito:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), sollecitoDataSource.Id, Security.Login.Instance.CurrentLogin().Azienda);
                                throw;
                            }
                        }
                        break;

                    case "Messaggio":
                        PersoneMessaggio = new List<PersonaMessaggioDTO>(_datiSollecito.Count);
                        foreach (var sollecitoDataSource in _datiSollecito)
                        {
                            loadReportDataSource(new List<TestataSollecitoDTO> { sollecitoDataSource });
                            var pdf = SetPDF();
                            var personaMessaggio = new PersonaMessaggioDTO
                            {
                                ID = sollecitoDataSource.IdPersona,
                                NomeMessaggio = string.Format("Promemoria_{0}", DateTime.Now.ToString("dd-MM-yyyy")),
                                OggettoMessaggio = parameters.OggettoMessaggio,
                                DocumentoMessaggio = pdf,
                                TestoMessaggio = parameters.TestoMessaggio,
                                TipoIndirizzo = sollecitoDataSource.TipoIndirizzo,
                                Importo = sollecitoDataSource.ImportoTotaleDaVersare,
                                Contatti = new List<ContattoDTO>()
                            };

                            if (_condominiDaSollecitare != null)
                            {
                                var personaDaSollecitare = _condominiDaSollecitare.FirstOrDefault(item => item != null && item.IdPersona == sollecitoDataSource.IdPersona);
                                if (personaDaSollecitare != null)
                                {
                                    var email = personaDaSollecitare.EmailCertificata;
                                    if (string.IsNullOrEmpty(email))
                                        email = personaDaSollecitare.Email;
                                    personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Email", Valore = email });
                                    personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Fax", Valore = personaDaSollecitare.Fax });
                                    personaMessaggio.Contatti.Add(new ContattoDTO { SelectColumn = true, TipoContatto = "Cellulare", Valore = personaDaSollecitare.Cellulare });
                                }

                                PersoneMessaggio.Add(personaMessaggio);
                            }
                            else
                            {
                                _log.DebugFormat("Condomini da sollecitare a null - {0} - itemClicked:{1} - condominio:{2} - azienda:{3}", Utility.GetMethodDescription(), itemClicked, _condominio != null ? _condominio.ID.ToString() : "<NULL>", Security.Login.Instance.CurrentLogin().Azienda);
                            }
                        }
                        break;
                }

                loadReportDataSource((IEnumerable<TestataSollecitoDTO>)dataSource);

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'esecuzione della stampa - {0} - itemClicked:{1} - condominio:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), itemClicked, _condominio != null ? _condominio.ID.ToString() : "<NULL>", Security.Login.Instance.CurrentLogin().Azienda);
                throw;
            }
        }
 protected virtual void Execute(string itemClicked, AutomazioneParameters parameters, IList<PersonaContattoDTO> personeSelezionate) { }
        protected override void Execute(string itemClicked, AutomazioneParameters parameters, IList<PersonaContattoDTO> personeSelezionate)
        {
            var document = new RicevutaRata(_note, _firma, _aziendaService);
            if (_banca != null)
            {
                document.Parameters["banca"].Value = _banca.Descrizione;
                document.Parameters["coordinateBancarie"].Value = _banca.Iban;
            }

            document.Parameters["dataRicevuta"].Value = _dataRicevuta;

            var amministratore = _aziendaService.GetAmministratore();
            if (amministratore != null)
                document.Parameters["nomeAmministratore"].Value = $"{amministratore.Nome} {amministratore.Cognome}";

            switch (itemClicked)
            {
                case "PDF":
                    foreach (var itemDataSource in _dataSource)
                    {
                        document.DataSource = new List<RataEmissioneDTO> { itemDataSource };
                        document.CreateDocument();
                        var fileName = $@"{parameters.SelectedPath}\{itemDataSource.OrdineUnitaImmobiliare} - {itemDataSource.ID.ToString().PadLeft(8, '0')} - {Conversione.ToFileName(itemDataSource.DescrizioneSoggettoCondominio)}.pdf";
                        document.ExportToPdf(fileName);
                    }
                    break;

                case "Messaggio":
                    PersoneMessaggio = new List<PersonaMessaggioDTO>(_dataSource.Count);
                    foreach (var persona in personeSelezionate)
                    {
                        var itemDataSource = _dataSource.Where(item => item.IdPersona == persona.ID).ToList();
                        if (itemDataSource.Any())
                        {
                            document.DataSource = itemDataSource;
                            document.CreateDocument();
                            var stream = new MemoryStream();
                            document.ExportToPdf(stream);
                            var personaMessaggio = new PersonaMessaggioDTO
                            {
                                ID = itemDataSource.FirstOrDefault().IdPersona,
                                NomeMessaggio = $"RicevutaRata_{DateTime.Now.ToString("dd-mm-yyyy")}",
                                OggettoMessaggio = parameters.OggettoMessaggio,
                                DocumentoMessaggio = stream.ToArray(),
                                TestoMessaggio = parameters.TestoMessaggio,
                                TipoIndirizzo = TipoIndirizzo.Recapito,
                                Importo = itemDataSource.Sum(item => item.Importo),
                                Contatti = new List<ContattoDTO>()
                            };

                            if (persona != null)
                            {
                                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;
            }
        }