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; }
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 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; }