Ejemplo n.º 1
0
 public ParametriStampaUnione(int? idPersona, int? idUnitaImmobiliare, int? idResponsabile, int? idIncaricatoAttivita, int? idFornitore, int? idCondominio, int? idEsercizio, TipoIndirizzo tipoIndirizzo, decimal? importo, decimal? importoTotale, int? anno, int? detrazione, string telefonoDaContattare, DateTime? dataIniziale, DateTime? dataFinale, decimal? versamenti, decimal? saldoEsercizioPrecedente, string tipoReport, int? idPersonaRichiedente, int? idPersonaAttiva, string body, string descrizione, string oggetto, DateTime? dataAttiva, string identificativo, string contattiDestinatario, string faxDestinatario, string applicazione)
 {
     IdPersona = idPersona;
     IdUnitaImmobiliare = idUnitaImmobiliare;
     IdResponsabile = idResponsabile;
     IdIncaricatoAttivita = idIncaricatoAttivita;
     IdFornitore = idFornitore;
     IdCondominio = idCondominio;
     IdEsercizio = idEsercizio;
     IdAssemblea = 0;
     TipoIndirizzo = tipoIndirizzo;
     Importo = importo;
     ImportoTotale = importoTotale;
     Anno = anno;
     Detrazione = detrazione;
     IdDatiBancari = null;
     TelefonoDaContattare = telefonoDaContattare;
     DataIniziale = dataIniziale;
     DataFinale = dataFinale;
     Versamenti = versamenti;
     SaldoEsercizioPrecedente = saldoEsercizioPrecedente;
     TipoReport = tipoReport;
     IdPersonaRichiedente = idPersonaRichiedente;
     IdPersonaAttiva = idPersonaAttiva;
     Body = body;
     Descrizione = descrizione;
     Oggetto = oggetto;
     DataAttiva = dataAttiva;
     Identificativo = identificativo;
     ContattiDestinatario = contattiDestinatario;
     FaxDestinatario = faxDestinatario;
     Applicazione = applicazione;
     ParametriAggiuntiviLettera = new ParametriAggiuntiviCompilazioneLettera();
 }
        public async Task <IActionResult> Edit(int id, [Bind("TipoIndirizzoId,Descrizione")] TipoIndirizzo tipoIndirizzo)
        {
            if (id != tipoIndirizzo.TipoIndirizzoId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tipoIndirizzo);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TipoIndirizzoExists(tipoIndirizzo.TipoIndirizzoId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(tipoIndirizzo));
        }
        public async Task <IActionResult> Create([Bind("TipoIndirizzoId,Descrizione")] TipoIndirizzo tipoIndirizzo)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tipoIndirizzo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tipoIndirizzo));
        }
Ejemplo n.º 4
0
        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;
            }

        }
Ejemplo n.º 5
0
        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;
            }
        }
Ejemplo n.º 6
0
 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;
     }
 }
Ejemplo n.º 7
0
 public Address GetRecapito(GestioneCondomini.Domain.Persona persona, TipoIndirizzo? tipoIndirizzo)
 {
     if (tipoIndirizzo.GetValueOrDefault() == TipoIndirizzo.Residenza)
         return persona.IndirizzoResidenza;
     if (persona.Recapito != null)
         return persona.Recapito;
     return persona.IndirizzoResidenza ?? new Address();
 }
        public IdentificazioneMittente GetIdentificazioneMittente(int idAzienda, TipoMessaggio tipo, TipoIndirizzo tipoIndirizzo)
        {
            try
            {
                var result = new IdentificazioneMittente(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty);
                var impostazioni = _daoFactory.GetImpostazioniAziendaDao().GetByAzienda(idAzienda);

                if (impostazioni != null)
                {
                    Persona amministratore = null;
                    if(impostazioni.Azienda.Amministratore != null)
                        amministratore = impostazioni.Azienda.Amministratore.PersonaRiferimento;

                    var indirizzo = impostazioni.Azienda.IndirizzoSede;
                    var via = string.Empty;
                    var cap = string.Empty;
                    var comune = string.Empty;
                    var provincia = string.Empty;
                    if(indirizzo != null)
                    {
                        via = indirizzo.DisplayNameArray[0];
                        cap = indirizzo.Cap;
                        
                        if(indirizzo.Comune != null)
                        {
                            comune = indirizzo.Comune.Descrizione;
                            provincia = indirizzo.Comune.ProvinciaAppartenenza.Codice;
                        }
                    }

                    var nomeAmministratore = string.Empty;
                    var cognomeAmministratore = string.Empty;
                    if (amministratore != null)
                    {
                        nomeAmministratore = amministratore.Nome;
                        cognomeAmministratore = amministratore.Cognome;
                    }

                    switch (tipo)
                    {
                        case TipoMessaggio.Fax:
                            var rapportino = "*****@*****.**";
                            if (!string.IsNullOrEmpty(impostazioni.EmailRapportiniInvio))
                                rapportino += "," + impostazioni.EmailRapportiniInvio;
                            result = new IdentificazioneMittente(impostazioni.Azienda.Descrizione, impostazioni.NomeFaxHeader, cognomeAmministratore, impostazioni.NumeroFaxHeader, rapportino, via, cap, comune, provincia, "ITALIA");
                            break;
                        case TipoMessaggio.Sms:
                            result = new IdentificazioneMittente(impostazioni.Azienda.Descrizione, impostazioni.NomeSmsHeader, cognomeAmministratore, impostazioni.NomeSmsHeader, impostazioni.EmailRapportiniInvio, via, cap, comune, provincia, "ITALIA");
                            break;
                        case TipoMessaggio.Email:
                            result = new IdentificazioneMittente(impostazioni.Azienda.Descrizione, impostazioni.MittenteEmailAzienda, cognomeAmministratore, impostazioni.MittenteEmailAzienda, impostazioni.EmailRapportiniInvio, via, cap, comune, provincia, "ITALIA");
                            break;
                        case TipoMessaggio.Lettera:
                            result = new IdentificazioneMittente(impostazioni.Azienda.Descrizione, nomeAmministratore, cognomeAmministratore, string.Empty, impostazioni.EmailRapportiniInvio, via, cap, comune, provincia, "ITALIA");
                            break;
                    }
                }

                return result;

            }
            catch (Exception ex)
            {
                _log.FatalFormat("Errore inaspettato durante la lettura dei dati di identificazione del mittente - {0} - tipoMessaggio:{1} - tipoIndirizzo:{2} - azienda:{3}", ex, Library.Utility.GetMethodDescription(), tipo, tipoIndirizzo, idAzienda);
                throw;
            }
        }
Ejemplo n.º 9
0
        public List<PersonaContattoDTO> GetByFilter(PersonaFilter filter, TipoIndirizzo tipoIndirizzo)
        {
            try
            {
                filter.CodiceAzienda = Login.Instance.CurrentLogin().Azienda;
                var result = GetServiceClient().GetPersoneByFilter(filter, tipoIndirizzo, GetUserInfo());
                CloseService();
                return result;
            }
            catch (CommunicationObjectAbortedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (CommunicationObjectFaultedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (CommunicationException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }            catch (IOException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (ObjectDisposedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (Exception ex)
            {
                _log.Error($"Errore nel caricamento degli Abi Cab - {Utility.GetMethodDescription()} - azienda:{Login.Instance.CurrentLogin().Azienda}", ex);
            }

            return new List<PersonaContattoDTO>();
        }
Ejemplo n.º 10
0
		public IList<PersonaContattoDTO> GetPersoneByFilter(PersonaFilter filter, TipoIndirizzo? tipoIndirizzo, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IPersonaService>();
				var repo = new PersonaRepository(userinfo, windsorRep);
                var item = repo.GetByDomainEntity(service.GetByFilter(filter), filter.Tipo, filter.DataRiferimento, tipoIndirizzo);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel caricamento delle persone - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}