private void setIndirizzo(PersonaContattoDTO dto, Persona persona, TipoIndirizzo? tipoIndirizzo, ImpostazioniAzienda impostazioni) { try { // ================================================================== // Indirizzo // ================================================================== if (tipoIndirizzo == null) tipoIndirizzo = impostazioni.TipoIndirizzoComunicazioni; dto.Indirizzo = new AddressComunicazioneDTO { RecapitoResidenza = tipoIndirizzo.GetValueOrDefault() }; if (persona.IndirizzoResidenza != null) { dto.Indirizzo.CapResidenza = persona.IndirizzoResidenza.Cap; dto.Indirizzo.LocalitaResidenza = persona.IndirizzoResidenza.Localita; dto.Indirizzo.PressoResidenza = persona.IndirizzoResidenza.Presso; // Località per ora viene stampata com campo singolo // personaDto.Indirizzo.ComuneResidenza = soggetto.Persona.IndirizzoResidenza.Localita; if (persona.IndirizzoResidenza.Comune != null) { if (!string.IsNullOrEmpty(dto.Indirizzo.ComuneResidenza)) dto.Indirizzo.ComuneResidenza += " - "; dto.Indirizzo.ComuneResidenza += persona.IndirizzoResidenza.Comune.Descrizione + " " + persona.IndirizzoResidenza.Comune.ProvinciaAppartenenza.Codice; } dto.Indirizzo.ViaCivicoResidenza = persona.IndirizzoResidenza.Indirizzo + " " + persona.IndirizzoResidenza.Civico; //if (!string.IsNullOrEmpty(persona.IndirizzoResidenza.Presso)) // dto.Indirizzo.ViaCivicoResidenza += " - c/o:" + persona.IndirizzoResidenza.Presso; } if (persona.Recapito != null) { dto.Indirizzo.CapRecapito = persona.Recapito.Cap; dto.Indirizzo.LocalitaRecapito = persona.Recapito.Localita; dto.Indirizzo.PressoRecapito = persona.Recapito.Presso; // Località per ora viene stampata com campo singolo // personaDto.Indirizzo.ComuneRecapito = soggetto.Persona.Recapito.Localita; if (persona.Recapito.Comune != null) { if (!string.IsNullOrEmpty(dto.Indirizzo.ComuneRecapito)) dto.Indirizzo.ComuneRecapito += " - "; dto.Indirizzo.ComuneRecapito += persona.Recapito.Comune.Descrizione + " " + persona.Recapito.Comune.ProvinciaAppartenenza.Codice; } dto.Indirizzo.ViaCivicoRecapito = persona.Recapito.Indirizzo + " " + persona.Recapito.Civico; //if (!string.IsNullOrEmpty(persona.Recapito.Presso)) // dto.Indirizzo.ViaCivicoRecapito += " - c/o:" + persona.Recapito.Presso; } else { dto.Indirizzo.ViaCivicoRecapito = dto.Indirizzo.ViaCivicoResidenza; dto.Indirizzo.CapRecapito = dto.Indirizzo.CapResidenza; dto.Indirizzo.ComuneRecapito = dto.Indirizzo.ComuneResidenza; dto.Indirizzo.PressoRecapito = dto.Indirizzo.PressoResidenza; dto.Indirizzo.LocalitaRecapito = dto.Indirizzo.LocalitaResidenza; } dto.ViaCivico = dto.Indirizzo.ViaCivicoRecapito; dto.Cap = dto.Indirizzo.CapRecapito; dto.Comune = dto.Indirizzo.ComuneRecapito; dto.Localita = dto.Indirizzo.LocalitaRecapito; dto.Presso = dto.Indirizzo.PressoRecapito; // ================================================================== } catch (Exception ex) { _log.ErrorFormat("Errore nella lettura dell'indirizzo - {0} - id:{1}", ex, Utility.GetMethodDescription(), persona.ID); throw; } }
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; } }
private void listaMouseUp(object sender, MouseEventArgs e) { _personaClick = null; if (e.Button == MouseButtons.Right) { _rowClick = DataGridHelper.GetCellEvent(lista, e); _personaClick = DataGridHelper.GetCellEvent<PersonaContattoDTO>(lista, e); if (_personaClick != null) contextMenuStrip1.Show(lista, e.X, e.Y); } }
private void apriDettaglioPersona(PersonaContattoDTO persona) { if (persona != null) { if (persona.TipoSoggetto == TipoNominativo.Fornitore) { try { var form = getDettaglioFornitoreService().GetFormDettaglio(persona.IdFornitore); if (form != null) { getDettaglioFornitoreService().AfterUpdateFornitore -= listaPersoneUCAfterUpdateFornitore; getDettaglioFornitoreService().AfterUpdateFornitore += listaPersoneUCAfterUpdateFornitore; form.ShowDialog(); form.Dispose(); } } catch (Exception ex) { _log.ErrorFormat("Errore nell'apertura del dettaglio - FORNITORE - {0} - persona:{1}", ex, Utility.GetMethodDescription(), persona.ID); } } else if (persona.ID > 0) { var form = getDettaglioPersonaService().GetFormDettaglio(persona.ID); if (form != null) { try { getDettaglioPersonaService().AfterUpdatePersona -= listaPersoneUCAfterUpdatePersona; getDettaglioPersonaService().AfterUpdatePersona += listaPersoneUCAfterUpdatePersona; form.ShowDialog(); form.Dispose(); } catch (Exception ex) { _log.ErrorFormat("Errore nell'apertura del dettaglio- PERSONA - {0} - persona:{1}", ex, Utility.GetMethodDescription(), persona.ID); } } } } }
public PersonaComunicazioneDTO ConvertPersonaPerEtichette(PersonaContattoDTO persona) { var personaLista = new PersonaComunicazioneDTO { Nominativo = persona.Cognome, ID = persona.ID, Note = persona.Note, ViaCivico = persona.ViaCivico, Cap = persona.Cap, Comune = persona.Comune, Localita = persona.Localita, Presso = persona.Presso, Gruppi = persona.Gruppi, Possesso = persona.Possesso, Indirizzo = persona.Indirizzo, SoggettoAccorpamento = persona.SoggettoAccorpamento, Titolo = Decodifica.Instance.GetElement("TitoloPersona", persona.Titolo).Descrizione }; if (!string.IsNullOrEmpty(persona.TipoCondomino)) personaLista.Tipo = (TipoSoggetto)Enum.Parse(typeof(TipoSoggetto), persona.TipoCondomino); if (!string.IsNullOrEmpty(persona.Nome)) personaLista.Nominativo += " " + persona.Nome; return personaLista; }