Exemple #1
0
 public RisultatoNotificaMessaggio(AttivitaMessaggio messaggio, string messaggioInvio)
 {
     Messaggio = messaggio;
     MessaggioInvio = messaggioInvio;
 }
Exemple #2
0
        public RisultatoInvioMessaggioAllegati NotificaAIncaricato(int idAttivita, MotivoMessaggio motivoMessaggio, IList<PersonaMessaggioDTO> persone, string oggettoMessaggio, string testoMessaggio, string mittente, string emailRapportino, IList<DocumentoMessaggioDTO> allegati, IList<DocumentInfo> allegatiNuovi, TipoMessaggio tipo, int? idModello, ParametriStampaUnione parametri, ParametriInvioLettera parametriInvioLettera, bool aggiornaContatti, int? idCondominio)
        {
            try
            {
                // Invio i messaggi
                var messaggioRepository = new MessaggioRepository(_info, _windsorRepository);
                var contatti = persone.ToDictionary(personaMessaggioDTO => personaMessaggioDTO.ID, personaMessaggioDTO => new BindingList<ContattoDTO>(personaMessaggioDTO.Contatti));
                var risultatoInvio = messaggioRepository.InvioMessaggioPersone(motivoMessaggio, oggettoMessaggio, testoMessaggio, persone, contatti, mittente, emailRapportino, allegati, allegatiNuovi, tipo, idModello, parametri, parametriInvioLettera, aggiornaContatti, idCondominio, _info.Azienda);

                // Associo i messaggi avviati con l'attività
                var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
                var attivita = daoFactory.GetAttivitaDao().Find(idAttivita, false);
                if (attivita != null)
                {
                    foreach (var risultatoInvioMessaggio in risultatoInvio.RisultatoInvio)
                    {
                        if (risultatoInvioMessaggio.InvioRiuscito && risultatoInvioMessaggio.IdMessaggio > 0)
                        {
                            var attivitaMessaggio = new AttivitaMessaggio(attivita, daoFactory.GetStoricoMessaggioDao().GetById(risultatoInvioMessaggio.IdMessaggio, false));
                            daoFactory.GetAttivitaMessaggioDao().SaveOrUpdate(attivitaMessaggio);
                        }
                    }

                    // Salvo tutti i documenti legandoli alla attività
                    foreach (var documentInfo in risultatoInvio.Allegati)
                    {
                        var documento = new Documento(documentInfo.FileId, documentInfo.FileName, documentInfo.FileExtension, "Attivita", false, daoFactory.GetAziendaDao().GetById(attivita.PraticaRiferimento.AziendaID.GetValueOrDefault(), false))
                        {
                            Descrizione = documentInfo.BodyText,
                            AttivitaRiferimento = attivita
                        };
                        daoFactory.GetDocumentoDao().SaveOrUpdate(documento);
                    }

                    // Documenti generati dall'invio manuale del messaggio
                    foreach (var itemResult in risultatoInvio.RisultatoInvio)
                    {
                        if (itemResult.Messaggio.Body != null)
                        {
                            var documentoLettera = new Documento(itemResult.Messaggio.FileId, itemResult.Messaggio.FileName, itemResult.Messaggio.FileExtension, "Attivita", false, daoFactory.GetAziendaDao().GetById(attivita.PraticaRiferimento.AziendaID.GetValueOrDefault(), false))
                            {
                                Descrizione = itemResult.Messaggio.BodyText,
                                AttivitaRiferimento = attivita
                            };
                            daoFactory.GetDocumentoDao().SaveOrUpdate(documentoLettera);
                        }
                    }
                }

                return risultatoInvio;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore durante l'invio del messaggio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), _info.Azienda);
                throw;
            }
        }
Exemple #3
0
        private AttivitaMessaggioDTO setMessaggioDto(AttivitaMessaggio item)
        {
            var dto = new AttivitaMessaggioDTO
            {
                ID = item.ID,
                CodiceAttivita = item.ID
            };

            if (item.Messaggio != null)
            {
                dto.IdMessaggio = item.Messaggio.ID;
                dto.Tipo = item.Messaggio.Tipo.ToString();
                dto.DataInvio = item.Messaggio.DataInvio;
                dto.Indirizzi = item.Messaggio.Indirizzi;
                dto.NumDocumenti = item.Messaggio.Allegati.Count;

                if (item.Messaggio.Persona != null)
                    dto.Destinatario = item.Messaggio.Persona.DisplayName;

                if (item.Messaggio.Tipo == TipoMessaggio.Sms)
                    dto.Testo = item.Messaggio.Testo;
            }

            if (item.AttivitaRiferimento != null)
                dto.CodicePratica = item.AttivitaRiferimento.PraticaRiferimento.ID;

            return dto;
        }
Exemple #4
0
 public AttivitaMessaggioDTO GetMessaggioByDomainEntity(AttivitaMessaggio item)
 {
     try
     {
         return setMessaggioDto(item);
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel caricamento di singolo messaggio di attività - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), item.ID, _info.Azienda);
         throw;
     }
 }