public IdMessage(int id, TipoNominativo tipo, string descrizione, string message) { Id = id; Tipo = tipo; Descrizione = descrizione; Message = message; }
public MessaggioFilter(int codiceAzienda, int? codiceCondominio, string nominativo, string indirizzo, string gruppi, TipoNominativo? tipo, DateTime? dataRiferimento, int? tipoFornitore, TipoMessaggio? tipoMessaggio, List<MotivoMessaggio> motivoMessaggio) { CodiceCondominio = codiceCondominio; CodiceAzienda = codiceAzienda; Nominativo = nominativo; Indirizzo = indirizzo; Tipo = tipo; DataRiferimento = dataRiferimento; Gruppi = gruppi; TipoFornitore = tipoFornitore; TipoMessaggio = tipoMessaggio; MotivoMessaggio = motivoMessaggio; }
public IEnumerable<PersonaContattoDTO> SetContattoDto(Persona item, TipoNominativo? tipoNominativo, DateTime? dataRiferimento, TipoIndirizzo? tipoIndirizzo, ImpostazioniAzienda impostazioniAzienda) { try { var listaDto = new List<PersonaContattoDTO>(); var mainDTO = new PersonaContattoDTO { ID = item.ID, Azienda = item.AziendaID.GetValueOrDefault(), Iban = item.Iban, CodiceFiscale = item.CodiceFiscale, Cognome = item.Cognome, DataNascita = item.DataNascita, DisplayName = item.DisplayName, Nome = item.Nome, Note = item.Note, PartitaIva = item.PartitaIva, RagioneSociale = item.RagioneSociale, Sesso = item.Sesso, TipoPersona = item.TipoPersona, Titolo = item.Titolo, IsDeleteAllow = false, Username = item.DatiAutenticazione?.Username, Password = item.DatiAutenticazione?.Password, Barcode = item.GetBarcode(), Version = item.Version }; if (string.IsNullOrEmpty(mainDTO.Cognome) && string.IsNullOrEmpty(mainDTO.Nome)) mainDTO.Cognome = mainDTO.RagioneSociale; var gruppi = string.Empty; foreach (var personaGruppo in item.Gruppi) { if (!string.IsNullOrEmpty(gruppi)) gruppi += ", "; gruppi += personaGruppo.Gruppo.DescrizioneBreve; } mainDTO.Gruppi = gruppi; if (item.ComuneNascita != null) { try { mainDTO.ComuneNascita = item.ComuneNascita.Descrizione; } catch (Exception ex) { _log.WarnFormat("Errore nel caricamento delle persone - COMUNE NASCITA - {0} - id:{1}", ex, Utility.GetMethodDescription(), item.ID); } } // Indirizzi setIndirizzo(mainDTO, item, tipoIndirizzo, impostazioniAzienda); //if ((tipoIndirizzo == TipoIndirizzo.Residenza && item.IndirizzoResidenza != null) || (tipoIndirizzo == TipoIndirizzo.Recapito && item.Recapito == null)) //{ // var indirizzo = _locRep.GetAddressByDomainEntity(item.IndirizzoResidenza); // mainDTO.Indirizzo = indirizzo.DisplayName; // mainDTO.Comune = indirizzo.DescrizioneComune + " " + indirizzo.CodiceProvincia; // mainDTO.Localita = indirizzo.Localita; // mainDTO.Cap = indirizzo.Cap; // mainDTO.Presso = indirizzo.Presso; //} //else if (item.Recapito != null) //{ // var recapito = _locRep.GetAddressByDomainEntity(item.Recapito); // mainDTO.Recapito = recapito.DisplayName; // mainDTO.Indirizzo = recapito.DisplayName; // mainDTO.Comune = recapito.DescrizioneComune + " " + recapito.CodiceProvincia; // mainDTO.Localita = recapito.Localita; // mainDTO.Cap = recapito.Cap; // mainDTO.Presso = recapito.Presso; //} // Contatti var contatti = new ContattoCollection(item.Contatti); var tel = contatti.GetFirstContatto<Telefono>(); if (tel != null) { mainDTO.Telefono = tel.Valore; if(!string.IsNullOrEmpty(tel.Descrizione)) mainDTO.Telefono += " (" + tel.Descrizione + ")"; } var cell = contatti.GetFirstContatto<Cellulare>(); if (cell != null) { mainDTO.Cellulare = cell.Valore; if (!string.IsNullOrEmpty(cell.Descrizione)) mainDTO.Cellulare += " (" + cell.Descrizione + ")"; } var mail = contatti.GetFirstContatto<Email>(); if (mail != null) { mainDTO.Email = mail.Valore; if (!string.IsNullOrEmpty(mail.Descrizione)) mainDTO.Email += " (" + mail.Descrizione + ")"; } var mailCertificata = contatti.GetFirstContatto<EmailCertificata>(); if (mailCertificata != null) { mainDTO.EmailCertificata = mailCertificata.Valore; if (!string.IsNullOrEmpty(mailCertificata.Descrizione)) mainDTO.EmailCertificata += " (" + mailCertificata.Descrizione + ")"; } var fax = contatti.GetFirstContatto<Fax>(); if (fax != null) { mainDTO.Fax = fax.Valore; if (!string.IsNullOrEmpty(fax.Descrizione)) mainDTO.Fax += " (" + fax.Descrizione + ")"; } // Dati condominio if (item.SoggettiCondominio.Count > 0) { SoggettoCondominio soggetto = null; if(item.SoggettiCondominio.Count(soggettoItem => soggettoItem.DataFine == null) == 1) soggetto = item.SoggettiCondominio.Where(soggettoItem => soggettoItem.DataFine == null).OrderBy(pers => pers.Tipo).FirstOrDefault(); if(soggetto == null) soggetto = item.SoggettiCondominio.OrderBy(soggettoItem => soggettoItem.Tipo).ThenByDescending(soggettoItem => soggettoItem.DataFine).ThenByDescending(soggettoItem => soggettoItem.DataInizio).ThenBy(soggettoItem => soggettoItem.UnitaImmobiliare.Ordine.GetValueOrDefault()).FirstOrDefault(); if(soggetto != null) { if (soggetto.UnitaImmobiliare != null) { if (tipoNominativo.GetValueOrDefault() != TipoNominativo.CondominoAttivo || dataRiferimento == null || soggetto.DataFine == null || soggetto.DataFine.GetValueOrDefault() > dataRiferimento.GetValueOrDefault()) { var dto = mainDTO.Clone() as PersonaContattoDTO; if (dto != null) { dto.IdUnitaImmobiliare = soggetto.UnitaImmobiliare.ID; dto.IdSoggetto = soggetto.ID; dto.DescrizioneUnitaImmobiliare = soggetto.UnitaImmobiliare.Descrizione; dto.OrdineUnitaImmobiliare = soggetto.UnitaImmobiliare.Ordine.GetValueOrDefault(); dto.Interno = soggetto.UnitaImmobiliare.InternoCompleto; dto.TipoCondomino = soggetto.Tipo.ToString(); dto.TipoSoggetto = TipoNominativo.Condomino; dto.DescrizioneSoggetto = soggetto.DescrizioneAggiuntiva; dto.IsResidente = soggetto.IsResidente; dto.IsConsigliere = soggetto.Consigliere; dto.SoggettoAccorpamento = soggetto.GetDescrizioneAccorpamento(); dto.ModalitaConvocazione = soggetto.ModalitaConvocazione; dto.FoglioCatastale = soggetto.UnitaImmobiliare.FoglioCatastale; dto.Mappale = soggetto.UnitaImmobiliare.Mappale; dto.Subalterno = soggetto.UnitaImmobiliare.Subalterno; if(soggetto.FrazionePossesso != null) dto.Possesso = soggetto.FrazionePossesso.ToString(); if (soggetto.UnitaImmobiliare.GruppoStabileRiferimento != null) { dto.IdGruppoStabile = soggetto.UnitaImmobiliare.GruppoStabileRiferimento.ID; dto.DescrizioneGruppoStabile = soggetto.UnitaImmobiliare.GruppoStabileRiferimento.Descrizione; dto.IdStabile = soggetto.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.ID; dto.DescrizioneStabile = soggetto.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.Descrizione; dto.IdCondominio = soggetto.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento.ID; dto.DescrizioneCondominio = soggetto.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento.DisplayName; } listaDto.Add(dto); } } } else { _log.WarnFormat("Attenzione presente soggetto condominio senza unità immobiliare - {0} - soggetto:{1} - persona:{2}", Utility.GetMethodDescription(), soggetto.ID, item.ID); } } } // Dati Fornitore if (item.Fornitori.Count > 0) { foreach (var fornitore in item.Fornitori) { var dto = mainDTO.Clone() as PersonaContattoDTO; if (dto != null) { dto.IdFornitore = fornitore.ID; dto.TipoFornitore = fornitore.Tipo?.Descrizione; dto.TipoSoggetto = TipoNominativo.Fornitore; listaDto.Add(dto); } } } // Dati Referente if (item.Referenti.Count > 0) { foreach (var dto in item.Referenti.Select(referente => mainDTO.Clone()).OfType<PersonaContattoDTO>()) { dto.TipoSoggetto = TipoNominativo.Referente; listaDto.Add(dto); } } if (listaDto.Count == 0 && tipoNominativo.GetValueOrDefault() != TipoNominativo.CondominoAttivo) { if (item.Attivita.Count == 0) mainDTO.IsDeleteAllow = true; mainDTO.TipoSoggetto = TipoNominativo.Contatto; listaDto.Add(mainDTO); } return listaDto; } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento delle persone - {0} - id:{1}", ex, Utility.GetMethodDescription(), item.ID); throw; } }
public IList<PersonaContattoDTO> GetByDomainEntity(IList<Persona> persone, TipoNominativo? tipoNominativo, DateTime? dataRiferimento, TipoIndirizzo? tipoIndirizzo) { try { var listaDto = new List<PersonaContattoDTO>(persone.Count); var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); var impostazioni = daoFactory.GetImpostazioniAziendaDao().GetByAzienda(_info.Azienda); foreach (var persona in persone) listaDto.AddRange(SetContattoDto(persona, tipoNominativo, dataRiferimento, tipoIndirizzo, impostazioni)); return listaDto.OrderBy(persona => persona.OrdineUnitaImmobiliare).ToList(); } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento delle persone - {0}", ex, Utility.GetMethodDescription()); throw; } }