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; }
public string LoadFornitori(string key, int idAzienda, string password) { string message = string.Empty; try { var databasePath = saveDatabase(key); var conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User Id=; Jet OLEDB:Database Password="******"; Data Source=" + databasePath); var azienda = _daoFactory.GetAziendaDao().GetById(idAzienda, false); var ds = new DataSet(); var fornitoriAdapter = new OleDbDataAdapter("SELECT * FROM Fornitori " + "ORDER BY Fornitori.F_RAG_SOC, Fornitori.F_TITOLARE", conn); fornitoriAdapter.Fill(ds, "Fornitori"); ds.Tables["Fornitori"].PrimaryKey = new[] { ds.Tables["Fornitori"].Columns["F_COD"] }; foreach (DataRow row in ds.Tables["Fornitori"].Rows) { try { // =========================== // Persona // =========================== Persona persona; var fornitore = _daoFactory.GetFornitoreDao().GetByCodiceImportazione(row["F_COD"].ToString().Trim(), azienda.ID); if (fornitore == null) { var tipoPersona = TipoPersonaEnum.Giuridica; if ((bool)row["F_PERSONA"]) tipoPersona = TipoPersonaEnum.Fisica; persona = new Persona(tipoPersona, string.Empty, row["F_TITOLARE"].ToString().Trim(), idAzienda, false); } else persona = fornitore.PersonaRiferimento; persona.RagioneSociale = row["F_RAG_SOC"].ToString().Trim(); if (persona.Nome != null && persona.Nome.Length > 50) persona.Nome = persona.Nome.Substring(0, 50); if (persona.Cognome != null && persona.Cognome.Length > 50) persona.Cognome = persona.Cognome.Substring(0, 50); if (persona.RagioneSociale != null && persona.RagioneSociale.Length > 100) persona.RagioneSociale = persona.RagioneSociale.Substring(0, 100); if (persona.TipoPersona.GetValueOrDefault() == TipoPersonaEnum.Fisica && row["F_SESSO_PF"] != DBNull.Value) { if (row["F_SESSO_PF"].ToString().Trim() == "M") persona.Sesso = SessoEnum.Maschio; else if(row["F_SESSO_PF"].ToString().Trim() == "F") persona.Sesso = SessoEnum.Femmina; } if (row["F_COD_FISC"] != DBNull.Value && !string.IsNullOrEmpty(row["F_COD_FISC"].ToString().Trim())) persona.CodiceFiscale = row["F_COD_FISC"].ToString().Trim(); if (row["F_PIVA"] != DBNull.Value && !string.IsNullOrEmpty(row["F_PIVA"].ToString().Trim())) persona.PartitaIva = row["F_PIVA"].ToString().Trim(); if (row["F_NOTE"] != DBNull.Value && !string.IsNullOrEmpty(row["F_NOTE"].ToString().Trim())) persona.Note = row["F_NOTE"].ToString().Trim(); persona.IndirizzoResidenza = new Address(); if (row["F_LOCALITA"] != DBNull.Value && !string.IsNullOrEmpty(row["F_LOCALITA"].ToString())) { var comuni = _daoFactory.GetComuneDao().GetByDescrizione(row["F_LOCALITA"].ToString().Trim()); if (comuni.Count == 1) persona.IndirizzoResidenza.Comune = comuni[0]; else persona.IndirizzoResidenza.Localita = row["F_LOCALITA"].ToString(); } if(row["F_CAP"] != DBNull.Value) persona.IndirizzoResidenza.Cap = row["F_CAP"].ToString().Trim(); if (row["F_VIA"] != DBNull.Value) persona.IndirizzoResidenza.Indirizzo = row["F_VIA"].ToString().Trim(); if (row["F_LOCALITA_NASC"] != DBNull.Value && !string.IsNullOrEmpty(row["F_LOCALITA_NASC"].ToString())) { var comuni = _daoFactory.GetComuneDao().GetByDescrizione(row["F_LOCALITA_NASC"].ToString().Trim()); if (comuni.Count == 1) persona.ComuneNascita = comuni[0]; } if (row["F_DT_NASC"] != DBNull.Value && (DateTime)row["F_DT_NASC"] > new DateTime(1800, 1, 1) && (DateTime)row["F_DT_NASC"] < new DateTime(2050, 12, 31)) persona.DataNascita = (DateTime)row["F_DT_NASC"]; // --------- // Contatti // --------- persona.Contatti.Clear(); if (row["F_TEL"] != DBNull.Value && !string.IsNullOrEmpty((string)row["F_TEL"])) { var contatto = new Telefono(row["F_TEL"].ToString(), true, persona) {CodiceImportazione = row["F_COD"].ToString().Trim()}; persona.Contatti.Add(contatto); } if (row["F_TELEFONINO"] != DBNull.Value && !string.IsNullOrEmpty((string)row["F_TELEFONINO"])) { var contatto = new Cellulare(row["F_TELEFONINO"].ToString(), true, persona) {CodiceImportazione = row["F_COD"].ToString().Trim()}; persona.Contatti.Add(contatto); } if (row["F_EMAIL"] != DBNull.Value && !string.IsNullOrEmpty((string)row["F_EMAIL"])) { var contatto = new Email(row["F_EMAIL"].ToString(), true, persona) {CodiceImportazione = row["F_COD"].ToString().Trim()}; persona.Contatti.Add(contatto); } if (row["F_FAX"] != DBNull.Value && !string.IsNullOrEmpty((string)row["F_FAX"])) { var contatto = new Fax(row["F_FAX"].ToString(), true, persona) {CodiceImportazione = row["F_COD"].ToString().Trim()}; persona.Contatti.Add(contatto); } persona.CodiceImportazione = row["F_COD"].ToString().Trim(); // =========================== // Fornitore // =========================== if(fornitore == null) fornitore = new Fornitore(persona, idAzienda); if (row["F_ALQ_RIT_ACC"] != DBNull.Value) fornitore.AliquotaRitenutaAcconto = Convert.ToDecimal((float)row["F_ALQ_RIT_ACC"]) / 100m; if (row["F_ALQ_IVA"] != DBNull.Value) fornitore.AliquotaIva = row["F_ALQ_IVA"].ToString().Trim(); if (row["F_ALQ_CASSAP"] != DBNull.Value) fornitore.AliquotaCassaProfessionisti = Convert.ToDecimal((float)row["F_ALQ_CASSAP"]) / 100m; if (row["F_MAG_CASP_IVA"] != DBNull.Value && row["F_MAG_CASP_IVA"].ToString() == "B") fornitore.IsRitenutaCalcolataImponibile = true; if (row["F_TRIBUTO"] != DBNull.Value && !string.IsNullOrEmpty(row["F_TRIBUTO"].ToString().Trim())) fornitore.CodiceTributo = row["F_TRIBUTO"].ToString().Trim(); fornitore.CodiceImportazione = row["F_COD"].ToString().Trim(); fornitore.Qualita = new ValutazioneQualita(); if (row["F_TIPO_PAG"] != DBNull.Value && row["F_TIPO_PAG"].ToString() == "BON") fornitore.ModalitaPagamento = _daoFactory.GetModalitaPagamentoDao().GetById(4, false); if (row["F_TIPO_FORN"] != DBNull.Value) fornitore.Tipo = _daoFactory.GetTipoFornitoreDao().GetByCodice(row["F_TIPO_FORN"].ToString()); //----------------------------- // Banche //----------------------------- if (row["F_IBAN_COMPLETO"] != DBNull.Value || (row["F_ABI"] != DBNull.Value && row["F_CAB"] != DBNull.Value)) { if (row["F_IBAN_COMPLETO"] != DBNull.Value && !string.IsNullOrEmpty(row["F_IBAN_COMPLETO"].ToString())) { var coor = new CoordinateBancarie(); if (coor.CheckIBAN(row["F_IBAN_COMPLETO"].ToString().Trim().Replace(" ", ""))) { persona.Iban = row["F_IBAN_COMPLETO"].ToString().Trim().Replace(" ", ""); coor.SetIBAN(persona.Iban); persona.Abi = coor.Abi; persona.Cab = coor.Cab; persona.ContoCorrente = coor.ContoCorrente; persona.Cin = coor.Cin; } } else { var coor = new CoordinateBancarie { Abi = row["F_ABI"].ToString().Trim().PadLeft(5, '0'), Cab = row["F_CAB"].ToString().Trim().PadLeft(5, '0'), ContoCorrente = row["F_NR_CC"].ToString().Trim().PadLeft(12, '0') }; persona.Iban = coor.CalcolaIBAN(); } } _daoFactory.GetFornitoreDao().SaveOrUpdate(fornitore); } catch (Exception ex) { _log.Error("Errore inaspettato l'importazione di un fornitore da YStabili: " + Library.Utility.GetMethodDescription() + " (Fornitore) - idFornitore:" + row["F_COD"] + " - nome:" + row["F_RAG_SOC"] + " - cognome:" + row["F_TITOLARE"], ex); throw; } } } catch (OleDbException ex) { message = ex.Message; _log.Error("Errore inaspettato nell'importazione dei fornitori da YStabili: " + Library.Utility.GetMethodDescription() + " - message: " + message, ex); } catch (Exception ex) { message = ex.Message; _log.Error("Errore inaspettato nell'importazione dei fornitori da YStabili: " + Library.Utility.GetMethodDescription() + " - message: " + message, ex); } return message; }
public string LoadFornitori(string key, int idAzienda, string password) { string message = string.Empty; try { var databasePath = saveDatabase(key); var conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User Id=; Jet OLEDB:Database Password="******"; Data Source=" + databasePath); var ds = new DataSet(); var fornitoriAdapter = new OleDbDataAdapter("SELECT * FROM TabFornitori " + "INNER JOIN TabCodComune ON TabCodComune.id = TabFornitori.idComune " + "ORDER BY TabFornitori.Cognome, TabFornitori.Nome", conn); fornitoriAdapter.Fill(ds, "Fornitori"); ds.Tables["Fornitori"].PrimaryKey = new[] { ds.Tables["Fornitori"].Columns["TabFornitori.id"] }; var bancheAdapter = new OleDbDataAdapter("SELECT TabBanche_Fornitori.*, TabBanche.Abi, TabBanche.Cab " + "FROM TabBanche INNER JOIN TabBanche_Fornitori ON TabBanche.id = TabBanche_Fornitori.idBanca " + "WHERE TabBanche.Attivo = True AND TabBanche_Fornitori.Attivo=True " + "ORDER BY TabBanche_Fornitori.Predefinito", conn); bancheAdapter.Fill(ds, "Banche"); ds.Tables["Banche"].PrimaryKey = new[] { ds.Tables["Fornitori"].Columns["id"] }; // Relazioni ds.Relations.Add(new DataRelation("Fornitori_Banche", ds.Tables["Fornitori"].Columns["TabFornitori.id"], ds.Tables["Banche"].Columns["idFornitore"])); foreach (DataRow row in ds.Tables["Fornitori"].Rows) { try { // =========================== // Persona // =========================== var tipoPersona = Sfera.Enums.TipoPersonaEnum.Giuridica; if((bool)row["Persona"]) tipoPersona = Sfera.Enums.TipoPersonaEnum.Fisica; var persona = new Persona(tipoPersona, row["TabFornitori.Nome"].ToString().Trim(), row["Cognome"].ToString().Trim(), idAzienda, false); if (tipoPersona == Sfera.Enums.TipoPersonaEnum.Giuridica) { persona.RagioneSociale = row["Cognome"].ToString().Trim(); if (string.IsNullOrEmpty(row["TabFornitori.Nome"].ToString().Trim())) persona.Cognome = null; } if (persona.Nome != null && persona.Nome.Length > 50) persona.Nome = persona.Nome.Substring(0, 50); if (persona.Cognome != null && persona.Cognome.Length > 50) persona.Cognome = persona.Cognome.Substring(0, 50); if (persona.RagioneSociale != null && persona.RagioneSociale.Length > 100) persona.RagioneSociale = persona.RagioneSociale.Substring(0, 100); persona.Sesso = Sfera.Enums.SessoEnum.Femmina; if (!(bool)row["Maschio"]) persona.Sesso = Sfera.Enums.SessoEnum.Maschio; if (row["CF"] != DBNull.Value && !string.IsNullOrEmpty(row["CF"].ToString().Trim())) persona.CodiceFiscale = row["CF"].ToString().Trim(); if (row["PIVA"] != DBNull.Value && !string.IsNullOrEmpty(row["PIVA"].ToString().Trim())) persona.PartitaIva = row["PIVA"].ToString().Trim(); if (row["Note"] != DBNull.Value && !string.IsNullOrEmpty(row["Note"].ToString().Trim())) persona.Note = row["Note"].ToString().Trim(); if (row["idComuneNasc"] != DBNull.Value && !string.IsNullOrEmpty(row["idComuneNasc"].ToString().Trim())) persona.ComuneNascita = getCodiceComuneById((int)row["idComuneNasc"], conn); if (row["DataNasc"] != DBNull.Value) persona.DataNascita = (DateTime)row["DataNasc"]; persona.IndirizzoResidenza = getIndirizzo(row); persona.Recapito = getIndirizzoFiscale(row, conn); // --------- // Contatti // --------- if (row["Tel1"] != DBNull.Value && !string.IsNullOrEmpty((string)row["Tel1"])) { var contatto = new Telefono(row["Tel1"].ToString(), true, persona) {CodiceImportazione = row["TabFornitori.id"].ToString().Trim()}; persona.Contatti.Add(contatto); } if (row["Tel2"] != DBNull.Value && !string.IsNullOrEmpty((string)row["Tel2"])) { var contatto = new Telefono(row["Tel2"].ToString(), false, persona) {CodiceImportazione = row["TabFornitori.id"].ToString().Trim()}; persona.Contatti.Add(contatto); } if (row["Cell"] != DBNull.Value && !string.IsNullOrEmpty((string)row["Cell"])) { var contatto = new Cellulare(row["Cell"].ToString(), true, persona) {CodiceImportazione = row["TabFornitori.id"].ToString().Trim()}; persona.Contatti.Add(contatto); } if (row["Email"] != DBNull.Value && !string.IsNullOrEmpty((string)row["Email"])) { var contatto = new Email(row["Email"].ToString(), true, persona) {CodiceImportazione = row["TabFornitori.id"].ToString().Trim()}; persona.Contatti.Add(contatto); } if (row["Fax"] != DBNull.Value && !string.IsNullOrEmpty((string)row["Fax"])) { var contatto = new Fax(row["Fax"].ToString(), true, persona) {CodiceImportazione = row["TabFornitori.id"].ToString().Trim()}; persona.Contatti.Add(contatto); } persona.CodiceImportazione = row["TabFornitori.id"].ToString().Trim(); // =========================== // Fornitore // =========================== var fornitore = new Fornitore(persona, idAzienda); if (row["PercRitAcconto"] != DBNull.Value) fornitore.AliquotaRitenutaAcconto = Convert.ToDecimal((float)row["PercRitAcconto"])/100m; if (row["PercIVA"] != DBNull.Value) fornitore.AliquotaIva = row["PercIVA"].ToString().Trim(); if (row["PercRitPrev"] != DBNull.Value) fornitore.AliquotaCassaProfessionisti = Convert.ToDecimal((float)row["PercRitPrev"]) / 100m; if (row["RitAccSuRitPrev"] != DBNull.Value) fornitore.IsRitenutaCalcolataImponibile = (bool)row["RitAccSuRitPrev"]; if (row["InElencoFornitori"] != DBNull.Value) fornitore.ElencoFornitori = (bool)row["InElencoFornitori"]; if (row["CodiceTributoF24"] != DBNull.Value && !string.IsNullOrEmpty(row["CodiceTributoF24"].ToString().Trim())) fornitore.CodiceTributo = row["CodiceTributoF24"].ToString().Trim(); fornitore.CodiceImportazione = row["TabFornitori.id"].ToString().Trim(); fornitore.Qualita = new ValutazioneQualita(); //----------------------------- // Banche //----------------------------- if (row.GetChildRows("Fornitori_Banche").Count() > 0) { DataRow rowBanca = row.GetChildRows("Fornitori_Banche")[0]; if (rowBanca["IBAN"] != DBNull.Value && !string.IsNullOrEmpty(rowBanca["IBAN"].ToString())) { var coor = new CoordinateBancarie(); if (coor.CheckIBAN(rowBanca["IBAN"].ToString().Trim().Replace(" ", ""))) { persona.Iban = rowBanca["IBAN"].ToString().Trim().Replace(" ", ""); coor.SetIBAN(persona.Iban); persona.Abi = coor.Abi; persona.Cab = coor.Cab; persona.ContoCorrente = coor.ContoCorrente; persona.Cin = coor.Cin; } } else if (rowBanca["Abi"] != DBNull.Value && !string.IsNullOrEmpty(rowBanca["Abi"].ToString()) && rowBanca["Cab"] != DBNull.Value && !string.IsNullOrEmpty(rowBanca["Cab"].ToString()) && rowBanca["CC"] != DBNull.Value && !string.IsNullOrEmpty(rowBanca["CC"].ToString())) { var coor = new CoordinateBancarie { Abi = rowBanca["Abi"].ToString().Trim().PadLeft(5, '0'), Cab = rowBanca["Cab"].ToString().Trim().PadLeft(5, '0'), ContoCorrente = rowBanca["CC"].ToString().Trim().PadLeft(12, '0') }; persona.Iban = coor.CalcolaIBAN(); } } _daoFactory.GetFornitoreDao().SaveOrUpdate(fornitore); } catch (Exception ex) { _log.Error("Errore inaspettato l'importazione di un fornitore da GeCo: " + Library.Utility.GetMethodDescription() + " (Fornitore) - idFornitore:" + row["TabFornitori.id"] + " - nome:" + row["TabFornitori.Nome"] + " - cognome:" + row["Cognome"], ex); throw; } } } catch (OleDbException ex) { message = ex.Message; _log.Error("Errore inaspettato nell'importazione dei fornitori da GeCo: " + Library.Utility.GetMethodDescription() + " - message: " + message, ex); } catch (Exception ex) { message = ex.Message; _log.Error("Errore inaspettato nell'importazione dei fornitori da GeCo: " + Library.Utility.GetMethodDescription() + " - message: " + message, ex); } if (!string.IsNullOrEmpty(message)) { _persistenceContext.RollbackAndCloseSession(Security.Login.Instance.CurrentLogin().LoginName); _persistenceContext.BeginTransaction(Security.Login.Instance.CurrentLogin().LoginName, IsolationLevel.ReadUncommitted); } return message; }
private Persona getPersona(int idPersona, Azienda azienda, DataRow row, IList<NameValueDTO<int, string>> listaPersone, OleDbConnection conn) { try { Persona persona; //string hql = "FROM Persona P WHERE P.CodiceImportazione = :codice"; //IList<Persona> lista = _daoFactory.GetPersonaDao().GetByQuery(hql, new QueryParam[] { new QueryParam("codice", idPersona.ToString()) }); var personaDto = (from item in listaPersone where item.Name == idPersona.ToString() select item).FirstOrDefault(); if (personaDto != null) { persona = _daoFactory.GetPersonaDao().GetById(personaDto.Value, false); persona.Contatti.Clear(); } else { persona = new Persona(Sfera.Enums.TipoPersonaEnum.Fisica, row["TabPersone.Nome"].ToString(), row["Cognome"].ToString(), azienda.ID, false) { Note = row["TabPersone.Note"].ToString(), Titolo = row["Titolo"].ToString(), CodiceFiscale = row["CodFisc"].ToString(), CodiceImportazione = row["TabPersone.id"].ToString().Trim() }; _daoFactory.GetPersonaDao().SaveOrUpdate(persona); listaPersone.Add(new NameValueDTO<int,string>(persona.ID, persona.CodiceImportazione)); // Indirizzi var ds = new DataSet(); var indirizziAdapter = new OleDbDataAdapter("SELECT DISTINCT TabIndirizzi.Nome, TabIndirizzi.Indirizzo, TabIndirizzi.NumeroCivico, TabIndirizzi.Località, TabIndirizzi.CAP, TabIndirizzi.idComune, TabIndirizzi.Note, TabCodComune.Nome " + "FROM TabCodComune INNER JOIN (TabIndirizzi INNER JOIN TabIndirizzi_Persone ON TabIndirizzi.id = TabIndirizzi_Persone.idIndirizzo) ON TabCodComune.id = TabIndirizzi.idComune " + "WHERE TabIndirizzi_Persone.idPers = " + idPersona.ToString() + " " + "ORDER BY TabIndirizzi.Indirizzo", conn); indirizziAdapter.Fill(ds, "Indirizzi"); persona.IndirizzoResidenza = getTipoIndirizzo(ds.Tables["Indirizzi"], "RESIDENZA"); persona.Recapito = getTipoIndirizzo(ds.Tables["Indirizzi"], "RECAPITO"); if (persona.IndirizzoResidenza == null && ds.Tables["Indirizzi"].Rows.Count > 0) { persona.IndirizzoResidenza = getIndirizzo(ds.Tables["Indirizzi"].Rows[0]); if (persona.Recapito == null && ds.Tables["Indirizzi"].Rows.Count > 1) persona.Recapito = getIndirizzo(ds.Tables["Indirizzi"].Rows[1]); } else if (persona.Recapito == null && ds.Tables["Indirizzi"].Rows.Count > 0) { foreach (DataRow rowRec in ds.Tables["Indirizzi"].Rows) { if (rowRec["TabIndirizzi.Nome"].ToString().Trim() != "RESIDENZA") { persona.Recapito = getIndirizzo(rowRec); break; } } } } if (persona.Nome != null && persona.Nome.Length > 50) persona.Nome = persona.Nome.Substring(0, 50); if (persona.Cognome != null && persona.Cognome.Length > 50) persona.Cognome = persona.Cognome.Substring(0, 50); if (persona.RagioneSociale != null && persona.RagioneSociale.Length > 100) persona.RagioneSociale = persona.RagioneSociale.Substring(0, 100); // ----------------------- // Contatti // ----------------------- var dsContatti = new DataSet(); var contattiAdapter = new OleDbDataAdapter("SELECT TabIndirizzi_Persone.id, TabIndirizzi_Persone.Tel1, TabIndirizzi_Persone.Tel2, TabIndirizzi_Persone.Cell, TabIndirizzi_Persone.EMail, TabIndirizzi_Persone.Fax, TabIndirizzi_Persone.Predefinito, TabIndirizzi_Persone.Proprietario " + "FROM TabIndirizzi_Persone " + "WHERE (Tel1 is not null OR Tel2 is not null OR Cell is not null OR Email is not null OR Fax is not null) AND TabIndirizzi_Persone.idPers = " + idPersona.ToString(), conn); contattiAdapter.Fill(dsContatti, "Contatti"); foreach (DataRow rowContatto in dsContatti.Tables["Contatti"].Rows) { if (rowContatto["Tel1"] != DBNull.Value && !string.IsNullOrEmpty((string)rowContatto["Tel1"])) { var contatto = new Telefono(rowContatto["Tel1"].ToString(), true, persona) {CodiceImportazione = rowContatto["id"].ToString().Trim()}; _daoFactory.GetContattoDao().SaveOrUpdate(contatto); persona.Contatti.Add(contatto); } if (rowContatto["Tel2"] != DBNull.Value && !string.IsNullOrEmpty((string)rowContatto["Tel2"])) { var contatto = new Telefono(rowContatto["Tel2"].ToString(), false, persona) {CodiceImportazione = rowContatto["id"].ToString().Trim()}; _daoFactory.GetContattoDao().SaveOrUpdate(contatto); persona.Contatti.Add(contatto); } if (rowContatto["Cell"] != DBNull.Value && !string.IsNullOrEmpty((string)rowContatto["Cell"])) { var contatto = new Cellulare(rowContatto["Cell"].ToString(), true, persona) {CodiceImportazione = rowContatto["id"].ToString().Trim()}; _daoFactory.GetContattoDao().SaveOrUpdate(contatto); persona.Contatti.Add(contatto); } if (rowContatto["Email"] != DBNull.Value && !string.IsNullOrEmpty((string)rowContatto["Email"])) { var contatto = new Email(rowContatto["Email"].ToString(), true, persona) {CodiceImportazione = rowContatto["id"].ToString().Trim()}; _daoFactory.GetContattoDao().SaveOrUpdate(contatto); persona.Contatti.Add(contatto); } if (rowContatto["Fax"] != DBNull.Value && !string.IsNullOrEmpty((string)rowContatto["Fax"])) { var contatto = new Fax(rowContatto["Fax"].ToString(), true, persona) {CodiceImportazione = rowContatto["id"].ToString().Trim()}; _daoFactory.GetContattoDao().SaveOrUpdate(contatto); persona.Contatti.Add(contatto); } } return persona; } catch (Exception ex) { _log.Error("Errore inaspettato nell'importazione di un condominio da GeCo: " + Library.Utility.GetMethodDescription() + " (Persona) - persona:" + idPersona, ex); throw; } }
private Contatto insert(ContattoDTO contattoDto) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); Contatto cont; try { //Istanzia il contatto in base al tipo di contatto switch (contattoDto.TipoContatto.ToUpper()) { case "EMAIL": cont = new Email(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "TELEFONO": cont = new Telefono(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "FAX": cont = new Fax(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "CELLULARE": case "SMS": cont = new Cellulare(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "EMAILCERT": cont = new EmailCertificata(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "WWW": cont = new SitoInternet(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "MANUALE": cont = null; break; default: cont = new Email(contattoDto.Valore, contattoDto.Predefinito, _persona); break; } if (cont != null) { cont.Descrizione = contattoDto.Descrizione; if (contattoDto.SelectColumn) cont.Predefinito = true; daoFactory.GetContattoDao().SaveOrUpdate(cont); } } catch (Exception ex) { _log.ErrorFormat("Errore nell'inserimento del contatto - {0} - id:{1}", ex, Utility.GetMethodDescription(), contattoDto.ID); throw; } return cont; }
private Contatto update(ContattoDTO contattoDto, Contatto cont, bool onlyValore) { Contatto result = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { cont = daoFactory.GetContattoDao().Find(contattoDto.ID, false); if (cont != null) { if (!onlyValore) { //Istanzia il contatto in base al tipo di contatto Contatto newContatto = null; switch (contattoDto.TipoContatto.ToUpper()) { case "EMAIL": if (!(cont is Email)) newContatto = new Email(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "EMAILCERT": if (!(cont is EmailCertificata)) newContatto = new EmailCertificata(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "WWW": if (!(cont is EmailCertificata)) newContatto = new SitoInternet(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "TELEFONO": if (!(cont is Telefono)) newContatto = new Telefono(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "FAX": if (!(cont is Fax)) newContatto = new Fax(contattoDto.Valore, contattoDto.Predefinito, _persona); break; case "CELLULARE": if (!(cont is Cellulare)) newContatto = new Cellulare(contattoDto.Valore, contattoDto.Predefinito, _persona); break; } if (newContatto != null) { newContatto.Descrizione = contattoDto.Descrizione; newContatto.Valore = contattoDto.Valore; daoFactory.GetContattoDao().SaveOrUpdate(newContatto); daoFactory.GetContattoDao().Delete(cont); } else { cont.Descrizione = contattoDto.Descrizione; cont.Valore = contattoDto.Valore; cont.Predefinito = contattoDto.Predefinito; newContatto = cont; } if (contattoDto.SelectColumn) newContatto.Predefinito = true; result = newContatto; } else { cont.Valore = contattoDto.Valore; result = cont; } } } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del contatto - {0} - id:{1}", ex, Utility.GetMethodDescription(), contattoDto.ID); throw; } return result; }