public string AggiornamentoMassivoCab(string oldAbi, string oldCab, string newAbi, string newCab, int idAzienda) { try { var message = string.Empty; var lista = _daoFactory.GetDatiBancariCondominiDao().GetByAbiCab(oldAbi, oldCab, idAzienda); foreach (var datiBancariCondomini in lista) { if (datiBancariCondomini.Abi == oldAbi && datiBancariCondomini.Cab == oldCab) { datiBancariCondomini.Abi = newAbi; datiBancariCondomini.Cab = newCab; var calcoloIban = new Library.BusinessData.CoordinateBancarie { Abi = datiBancariCondomini.Abi.Trim(), Cab = datiBancariCondomini.Cab.Trim(), ContoCorrente = datiBancariCondomini.ContoCorrente }; datiBancariCondomini.Iban = calcoloIban.CalcolaIBAN(); calcoloIban.SetIBAN(datiBancariCondomini.Iban); datiBancariCondomini.Cin = calcoloIban.Cin; } } return message; } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la modifica di abi a cab - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), idAzienda); throw; } }
public void CorreggiAnagrafiche(int azienda) { var comuni = _daoFactory.GetComuneDao().GetAll().Where(item => string.IsNullOrEmpty(item.Cessato)).ToList(); var persone = _daoFactory.GetPersonaDao().GetByAzienda(azienda); foreach (var persona in persone) { if (!string.IsNullOrEmpty(persona.Cognome) && persona.Cognome.Contains("*")) { var nomeAry = persona.Cognome.Split('*'); persona.Nome = nomeAry[1]; persona.Cognome = nomeAry[0]; } if (persona.IndirizzoResidenza != null) { if (persona.IndirizzoResidenza.Comune == null && !string.IsNullOrEmpty(persona.IndirizzoResidenza.Localita)) { var comune = comuni.Where(item => item.Descrizione.Contains(persona.IndirizzoResidenza.Localita)).ToList(); if (comune.Count == 1) { persona.IndirizzoResidenza.Comune = comune[0]; persona.IndirizzoResidenza.Localita = null; } else if(!string.IsNullOrEmpty(persona.IndirizzoResidenza.Cap)) { comune = comuni.Where(item => item.Cap == persona.IndirizzoResidenza.Cap).ToList(); if (comune.Count == 1) { persona.IndirizzoResidenza.Comune = comune[0]; persona.IndirizzoResidenza.Localita = null; } } } } if (!string.IsNullOrEmpty(persona.CodiceFiscale)) { var cdfis = new Library.BusinessData.CodiceFiscale(); var datiNascita = cdfis.CalcoloInversoCF(persona.CodiceFiscale); if (datiNascita != null) { if(persona.DataNascita == null) persona.DataNascita = datiNascita.Value.DataNascita; if(persona.ComuneNascita == null) persona.ComuneNascita = comuni.FirstOrDefault(item => item.CodiceCatastale == datiNascita.Value.CodiceComune); if (persona.Sesso == SessoEnum.Undefined) { switch (datiNascita.Value.Sesso) { case "F": persona.Sesso = SessoEnum.Femmina; break; case "M": persona.Sesso = SessoEnum.Maschio; break; } } } } if (!string.IsNullOrEmpty(persona.ContoCorrente)) persona.ContoCorrente = persona.ContoCorrente.Trim(); if (string.IsNullOrEmpty(persona.Iban) && !string.IsNullOrEmpty(persona.Abi) && !string.IsNullOrEmpty(persona.Cab) && !string.IsNullOrEmpty(persona.ContoCorrente)) { var calcoloIban = new Library.BusinessData.CoordinateBancarie { Abi = persona.Abi.Trim(), Cab = persona.Cab.Trim(), ContoCorrente = persona.ContoCorrente }; persona.Iban = calcoloIban.CalcolaIBAN(); calcoloIban.SetIBAN(persona.Iban); persona.ContoCorrente = calcoloIban.ContoCorrente; persona.Cin = calcoloIban.Cin; } if (persona.Abi == "0") persona.Abi = null; if (persona.Cab == "0") persona.Cab = null; if (string.IsNullOrEmpty(persona.Cognome) && !string.IsNullOrEmpty(persona.Nome)) { var nomeAry = persona.Nome.Trim().Split(' '); if (nomeAry.Length >= 2 && nomeAry[0].Trim().ToUpper() != "DE") { persona.Nome = string.Empty; persona.Cognome = nomeAry[0]; for (int i = 1; i < nomeAry.Length; i++) { persona.Nome += $" {nomeAry[i]}"; } persona.Nome = persona.Nome.Trim(); } } if (persona.DatiAutenticazione == null || !string.IsNullOrEmpty(persona.DatiAutenticazione.Password) && string.IsNullOrEmpty(persona.DatiAutenticazione.Username)) { persona.DatiAutenticazione = null; SetDatiAutenticazione(persona); } } var fornitori = _daoFactory.GetFornitoreDao().GetByAzienda(azienda); foreach (var fornitore in fornitori) { if (string.IsNullOrEmpty(fornitore.AliquotaIva)) fornitore.AliquotaIva = "22"; } var banche = _daoFactory.GetDatiBancariCondominiDao().GetByAzienda(azienda); foreach (var datiBancariCondomini in banche) { if (string.IsNullOrEmpty(datiBancariCondomini.Iban) && !string.IsNullOrEmpty(datiBancariCondomini.ContoCorrente) && !string.IsNullOrEmpty(datiBancariCondomini.Abi) && !string.IsNullOrEmpty(datiBancariCondomini.Cab)) { var calcoloIban = new Library.BusinessData.CoordinateBancarie { Abi = datiBancariCondomini.Abi.Trim(), Cab = datiBancariCondomini.Cab.Trim(), ContoCorrente = datiBancariCondomini.ContoCorrente }; datiBancariCondomini.Iban = calcoloIban.CalcolaIBAN(); calcoloIban.SetIBAN(datiBancariCondomini.Iban); datiBancariCondomini.ContoCorrente = calcoloIban.ContoCorrente; datiBancariCondomini.Cin = calcoloIban.Cin; } } var condomini = _daoFactory.GetCondominioDao().GetByAzienda(azienda); foreach (var condominio in condomini) { if (condominio.GeoReferenziazione == null && condominio.Indirizzo != null) { var geoAddress = condominio.Indirizzo.GetGeoLocationAddress(); var latLong = _geoLocationService.GetLatLong(geoAddress); if (latLong != null) { if (condominio.GeoReferenziazione == null) condominio.GeoReferenziazione = new GeoReference(); condominio.GeoReferenziazione.AddedDate = DateTime.Now; condominio.GeoReferenziazione.AddressUsed = geoAddress; condominio.GeoReferenziazione.Latitude = latLong.Value.Latitude; condominio.GeoReferenziazione.Longitude = latLong.Value.Longitude; } } } var unitaImmobiliari = _daoFactory.GetUnitaImmobiliareDao().GetByAzienda(azienda); foreach (var unitaImmobiliare in unitaImmobiliari) { unitaImmobiliare.Descrizione = _daoFactory.GetUnitaImmobiliareDao().GetUnitaImmobiliareDescrizione(unitaImmobiliare); } }
public string RicalcolaIBAN(bool onlyWithoutIban, int idAzienda) { try { var message = string.Empty; var lista = _daoFactory.GetDatiBancariCondominiDao().GetByAzienda(idAzienda); foreach (var datiBancariCondomini in lista) { if (!string.IsNullOrEmpty(datiBancariCondomini.Iban) || !onlyWithoutIban) { var calcoloIban = new Library.BusinessData.CoordinateBancarie { Abi = datiBancariCondomini.Abi.Trim(), Cab = datiBancariCondomini.Cab.Trim(), ContoCorrente = datiBancariCondomini.ContoCorrente }; datiBancariCondomini.Iban = calcoloIban.CalcolaIBAN(); calcoloIban.SetIBAN(datiBancariCondomini.Iban); } } return message; } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante il ricalcolo dell'iban - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), idAzienda); throw; } }