/// <summary> /// Crea una Persona valida /// </summary> public Persona(TipoPersonaEnum? tipoPersona, string nome, string cognome, int? aziendaID, bool insertContatti) { TipoPersona = tipoPersona; AziendaID = aziendaID; Nome = nome; Cognome = cognome; IndirizzoResidenza = new Address(); // Contatti di default if (aziendaID != null && tipoPersona != TipoPersonaEnum.Undefined && insertContatti) { Contatti.Add(new Telefono(string.Empty, true, this)); Contatti.Add(new Email(string.Empty, true, this)); Contatti.Add(new Cellulare(string.Empty, true, this)); } }
/// <summary> /// Crea uno Stabile valido /// </summary> public Palazzina(Condominio condominioRiferimento, string descrizione, bool insertGruppo) { _descrizione = descrizione; _condominioRiferimento = condominioRiferimento; if (condominioRiferimento != null) { // Scala di default GruppoStabile gruppoDefault; if(insertGruppo) gruppoDefault = new GruppoStabile(this, "Scala A"); if (condominioRiferimento.Indirizzo != null) Indirizzo = (Address)condominioRiferimento.Indirizzo.Clone(); else Indirizzo = new Address(); condominioRiferimento.Palazzine.Add(this); } }
private string getNominativoPresso(Persona persona, SoggettoCondominio soggetto, Address indirizzo) { try { var nominativo = persona.DisplayName; try { if (!string.IsNullOrEmpty(soggetto?.Descrizione)) nominativo = soggetto.Descrizione; } catch (Exception ex) { _log.ErrorFormat("Errore nell'individuazione del nominativo completo di presso - DESCRIZIONE - {0} - persona:{1} - soggetto:{2}", ex, Utility.GetMethodDescription(), persona.ID.ToString(), soggetto?.ID.ToString() ?? "<NULL>"); } if (!string.IsNullOrEmpty(indirizzo?.Presso)) nominativo += $"{Environment.NewLine}c/o {indirizzo.Presso}"; return nominativo; } catch (Exception ex) { _log.ErrorFormat("Errore nell'individuazione del nominativo completo di presso - {0} - persona:{1} - soggetto:{2}", ex, Utility.GetMethodDescription(), persona?.ID.ToString() ?? "<NULL>", soggetto?.ID.ToString() ?? "<NULL>"); return string.Empty; } }
private AddressDTO setDto(Address item) { var dto = new AddressDTO(); if (item != null) { dto.Cap = item.Cap; dto.Civico = item.Civico; if (item.Comune != null) { dto.CodiceProvincia = item.Comune.ProvinciaAppartenenza.Codice; dto.DescrizioneComune = item.Comune.Descrizione; dto.CodiceComune = item.Comune.Codice; } //dto.Comune = setComuneDto(indirizzo.Comune); dto.Indirizzo = item.Indirizzo; dto.Presso = item.Presso; dto.Localita = item.Localita; dto.Presso = item.Presso; dto.DisplayName = item.GetIndirizzoCompleto(); dto.LongDisplayName = item.LongDiplayName; if (item.Nazione != null) dto.Nazione = item.Nazione.Descrizione; } return dto; }
public AddressDTO GetAddressByDomainEntity(Address indirizzo) { try { return setDto(indirizzo); } catch (Exception ex) { _log.Error("Errore nel caricamento degli indirizzi - " + Library.Utility.GetMethodDescription(), ex); throw; } }
public GestioneCondomini.Domain.Persona SetNew(PersonaDTO personaDto) { var persona = new GestioneCondomini.Domain.Persona(personaDto.TipoPersona, personaDto.Nome, personaDto.Cognome, personaDto.Azienda, true) { Abi = personaDto.Abi, Cab = personaDto.Cab, Cin = personaDto.Cin, CodiceFiscale = personaDto.CodiceFiscale, ContoCorrente = personaDto.ContoCorrente, DataNascita = personaDto.DataNascita, Iban = personaDto.Iban, Note = personaDto.Note, PartitaIva = personaDto.PartitaIva, RagioneSociale = personaDto.RagioneSociale, Sesso = personaDto.Sesso, Titolo = personaDto.Titolo }; if (personaDto.ComuneNascita != null) persona.ComuneNascita = _daoFactory.GetComuneDao().GetById(personaDto.ComuneNascita.ID, false); // Indirizzo if (personaDto.IndirizzoResidenza != null) { var indirizzoResidenza = new Address { Cap = personaDto.IndirizzoResidenza.Cap, Civico = personaDto.IndirizzoResidenza.Civico, Indirizzo = personaDto.IndirizzoResidenza.Indirizzo, Localita = personaDto.IndirizzoResidenza.Localita }; persona.IndirizzoResidenza = indirizzoResidenza; if (!string.IsNullOrEmpty(personaDto.IndirizzoResidenza.CodiceComune)) indirizzoResidenza.Comune = _daoFactory.GetComuneDao().GetById(personaDto.IndirizzoResidenza.CodiceComune, false); } // Contatti if (personaDto.Contatti != null) { foreach (var t in personaDto.Contatti) { Contatto contatto; switch (t.TipoContatto) { case "Email": contatto = new Email(t.Valore, t.Predefinito, persona); break; case "Telefono": contatto = new Telefono(t.Valore, t.Predefinito, persona); break; case "Fax": contatto = new Fax(t.Valore, t.Predefinito, persona); break; case "Cellulare": contatto = new Cellulare(t.Valore, t.Predefinito, persona); break; case "EmailCertificata": contatto = new EmailCertificata(t.Valore, t.Predefinito, persona); break; case "WWW": contatto = new SitoInternet(t.Valore, t.Predefinito, persona); break; default: contatto = new Email(t.Valore, t.Predefinito, persona); break; } contatto.Descrizione = t.Descrizione; persona.Contatti.Add(contatto); } } // Unità Immobiliari var unitaImmobiliari = _daoFactory.GetUnitaImmobiliareDao().GetByPersona(persona.ID); foreach (var unitaImmobiliare in unitaImmobiliari) { unitaImmobiliare.Descrizione = _daoFactory.GetUnitaImmobiliareDao().GetUnitaImmobiliareDescrizione(unitaImmobiliare); } _daoFactory.GetPersonaDao().SaveOrUpdate(persona); // Dati autenticazione (solo ora perchè necessita dell'ID) SetDatiAutenticazione(persona); return persona; }
private bool update(CondominioDTO dto, out Condominio item) { var result = false; item = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { item = daoFactory.GetCondominioDao().GetById(dto.ID, false); // Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia if (dto.Version == item.Version || true) { item.Codice = dto.Codice; item.CodiceFiscale = dto.CodiceFiscale; item.Descrizione = dto.Descrizione; #region Indirizzo var indirizzo = new Address(); if (item.Indirizzo == null) item.Indirizzo = indirizzo; else indirizzo = item.Indirizzo; indirizzo.Indirizzo = dto.Indirizzo.Indirizzo; var civico = dto.Indirizzo.Civico; if (!string.IsNullOrEmpty(civico) && civico.Length > 200) civico = civico.Substring(0, 200); indirizzo.Civico = civico; indirizzo.Cap = dto.Indirizzo.Cap; indirizzo.Localita = dto.Indirizzo.Localita; if (dto.Indirizzo.CodiceComune != null) indirizzo.Comune = daoFactory.GetComuneDao().GetById(dto.Indirizzo.CodiceComune, false); else indirizzo.Comune = null; // Georeferenziazione- Solo se l'indirizzo è cambiato var geoAddress = item.Indirizzo.GetGeoLocationAddress(); if (item.GeoReferenziazione == null || (geoAddress != item.GeoReferenziazione.AddressUsed)) { var geoLocationService = _windsorRepository.GetContainer(_info.Azienda).Resolve<IGeoLocationService>(); var latLong = geoLocationService.GetLatLong(geoAddress); if (latLong != null) { if (item.GeoReferenziazione == null) item.GeoReferenziazione = new GeoReference(); item.GeoReferenziazione.AddedDate = DateTime.Now; item.GeoReferenziazione.AddressUsed = geoAddress; item.GeoReferenziazione.Latitude = latLong.Value.Latitude; item.GeoReferenziazione.Longitude = latLong.Value.Longitude; if (item.GeoReferenziazione.AddressUsed.Length > 256) item.GeoReferenziazione.AddressUsed = item.GeoReferenziazione.AddressUsed.Substring(0, 256); } } #endregion Indirizzo item.NumeroUnitaImmobiliari = dto.UnitaImmobiliari; item.FoglioCatastale = dto.FoglioCatastale; item.MappaleCatastale = dto.MappaleCatastale; item.GiornoAssemblea = dto.GiornoAssemblea; item.MeseAssemblea = dto.MeseAssemblea; item.LuogoAssemblea = dto.LuogoAssemblea; item.CodiceSIA = dto.CodiceSIA; item.CodiceCUC = dto.CodiceCUC; item.Note = dto.Note; item.FormatoDescrizioneSpesa = dto.FormatoDescrizioneSpesa; item.FormatoDescrizioneMovimento = dto.FormatoDescrizioneMovimento; item.DescrizioneSpeseAutomatica = dto.DescrizioneSpeseAutomatica; item.IsAbilitataArchiviazioneOtticaPassivi = dto.IsAbilitataArchiviazioneOtticaPassivi; item.IsAbilitataArchiviazioneOtticaContratti = dto.IsAbilitataArchiviazioneOtticaContratti; item.CodiceCalcoloTariffaAcqua = dto.CodiceCalcoloTariffaAcqua; item.CodiceImportazione = dto.CodiceImportazione; item.TipoVersamentoDopoChiusura = dto.TipoVersamentoDopoChiusura; item.TipoVersamentoPrimaApertura = dto.TipoVersamentoPrimaApertura; item.TemplateDescrizioneUnitaImmobiliare = dto.TemplateDescrizioneUnitaImmobiliare; if (string.IsNullOrEmpty(item.TemplateDescrizioneUnitaImmobiliare)) { var impostazioni = item.Azienda.Impostazioni.FirstOrDefault(); if (impostazioni != null) item.TemplateDescrizioneUnitaImmobiliare = impostazioni.TemplateDescrizioneUnitaImmobiliare; } item.IsSupercondominio = dto.IsSupercondominio; #region Dati Esercizio item.GiornoChiusuraEsercizioOrdinario = dto.GiornoChiusuraEsercizioOrdinario; item.MeseChiusuraEsercizioOrdinario = dto.MeseChiusuraEsercizioOrdinario; item.AnnoInizio = dto.AnnoInizio; #endregion Dati Esercizio // ------------------------------------------------------ // Responsabile // ------------------------------------------------------ if (dto.IdResponsabile > 0) item.Responsabile = daoFactory.GetReferenteDao().GetById(dto.IdResponsabile.GetValueOrDefault(), false); // ------------------------------------------------------ // Responsabile Contabilita // ------------------------------------------------------ if (dto.IdResponsabileContabilita > 0) item.ResponsabileContabilita = daoFactory.GetReferenteDao().Find(dto.IdResponsabileContabilita.GetValueOrDefault(), false); // ------------------------------------------------------ // Responsabili Assemblea // ------------------------------------------------------ item.ResponsabiliAssemblea.Clear(); foreach (var idResponsabileAssemblea in dto.IdResponsabiliAssemblea) { var responsabile = daoFactory.GetReferenteDao().Find(idResponsabileAssemblea, false); if(responsabile != null) item.ResponsabiliAssemblea.Add(responsabile); } // ------------------------------------------------------ // Soggetto che presenta la parte della dichiarazione relativa ai contributi del dipendente // ------------------------------------------------------ item.FornitoreDichiarazione770 = dto.IdFornitoreDichiarazione770 > 0 ? daoFactory.GetFornitoreDao().Find(dto.IdFornitoreDichiarazione770.GetValueOrDefault(), false) : null; // ------------------------------------------------------ // Dati Bancari // ------------------------------------------------------ item.DatiBancari.Clear(); foreach (var t in dto.DatiBancari) { t.IdCondominio = item.ID; DatiBancariCondomini dbc = null; if ((t.Stato == "U") || (t.Stato == "I") || (t.Stato == "D")) dbc = getDatiBancariRepository().ManageDomainEntity(t); if (dbc != null) { item.DatiBancari.Add(dbc); dbc.CondominioRiferimento = item; } } _log.InfoFormat("Aggiornato condominio - id:{0} - codice:{1}", dto.ID, dto.Codice); result = true; } else { // Eccezione: Sul db c'è qualche cosa di più nuovo. _log.ErrorFormat("Errore nel salvataggio del condominio: id:{0} - il dato sul db è più recente di quello che si vuole salvare", dto.ID); } } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del condominio - {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID); throw; } return result; }
private CBIPostalAddress6 getPostalAddress6(Address indirizzo) { var postalAddress = new CBIPostalAddress6 {AddressType = AddressType2Code.ADDR}; if (indirizzo != null) { var indirizzoCompleto = indirizzo.DisplayNameArray; if(!string.IsNullOrEmpty(indirizzoCompleto[0].TrimForSepa())) postalAddress.AddressLine = new List<string> { indirizzoCompleto[0].TrimForSepa(), $"{indirizzoCompleto[1].TrimForSepa()} IT" }; } return postalAddress; }
private Address getIndirizzoFiscale(DataRow row, OleDbConnection conn) { var indirizzo = new Address { Indirizzo = row["IndirizzoFisc"].ToString(), Cap = row["CAPFisc"].ToString(), Localita = row["LocalitàFisc"].ToString(), Comune = getCodiceComuneById((int) row["idComuneFisc"], conn) }; return indirizzo; }
private Address getIndirizzo(DataRow row) { var indirizzo = new Address(); var via = row["Indirizzo"].ToString().Trim(); if (via.Length > 256) via = via.Substring(0, 256); indirizzo.Indirizzo = via; if (row.Table.Columns.Contains("CAP")) indirizzo.Cap = row["CAP"].ToString(); else if (row.Table.Columns.Contains("TabFornitori.CAP")) indirizzo.Cap = row["TabFornitori.CAP"].ToString(); var localita = row["Località"].ToString().Trim(); if (localita.Length > 256) localita = localita.Substring(0, 256); indirizzo.Localita = localita; var codiceComune = getCodiceComuneByNome(row["TabCodComune.Nome"].ToString()); if(!string.IsNullOrEmpty(codiceComune)) indirizzo.Comune = _daoFactory.GetComuneDao().GetById(codiceComune, false); if (row.Table.Columns.Contains("NumeroCivico")) { var civico = row["NumeroCivico"].ToString().Trim(); if(civico.Length > 20) civico = civico.Substring(0, 20); indirizzo.Civico = civico; } return indirizzo; }
/// <summary> /// Crea un Condominio valido /// </summary> public Condominio(string descrizione, int giornoChiusuraEsercizio, int meseChiusuraEsercizio, int annoInizio, Azienda azienda) { _isDirty = true; _descrizione = descrizione; _azienda = azienda; GiornoChiusuraEsercizioOrdinario = giornoChiusuraEsercizio; MeseChiusuraEsercizioOrdinario = meseChiusuraEsercizio; AnnoInizio = annoInizio; Indirizzo = new Address {Indirizzo = string.Empty}; FormatoDescrizioneSpesa = "<sottoconto>"; // Default if (_azienda != null) { var stabileDefault = new Palazzina(this, "Stabile A"); } }
public object Clone() { Address newAddress = new Address(); newAddress.Indirizzo = Indirizzo; newAddress.Civico = Civico; newAddress.Localita = Localita; newAddress.Comune = Comune; newAddress.Cap = Cap; return newAddress; }