Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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;
        }