public RisultatoNotificaMessaggio(AttivitaMessaggio messaggio, string messaggioInvio) { Messaggio = messaggio; MessaggioInvio = messaggioInvio; }
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; } }
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; }
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; } }