示例#1
0
        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;
            }
        }
示例#2
0
        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);
            }

        }
示例#3
0
        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;
            }
        }