/// <summary> /// Crea un invio Messaggio valido /// </summary> public MessaggioInvio(string descrizione, string checkSumFile, Referente referente, Azienda azienda) { Descrizione = descrizione; CheckSumFile = checkSumFile; Referente = referente; Azienda = azienda; Stato = StatoInvioMessaggio.Inserito; }
/// <summary> /// Crea un Alert attività valido /// </summary> public AlertAttivita(NotifyType tipoAvviso, Referente destinatario, Attivita attivita) { TipoAvviso = tipoAvviso; Destinatario = destinatario; Attivita = attivita; if (Attivita != null) Attivita.Alert.Add(this); }
/// <summary> /// Crea una Attività valida /// </summary> public Attivita(Pratica praticaRiferimento, Referente responsabileRiferimento, Referente incaricato, DateTime? dataFinePrevista, int aziendaID) { PraticaRiferimento = praticaRiferimento; ResponsabileRiferimento = responsabileRiferimento; AziendaID = aziendaID; Incaricato = incaricato; DataFinePrevista = dataFinePrevista; AlertScadenzaAbilitato = true; if(PraticaRiferimento != null) PraticaRiferimento.Attivita.Add(this); }
public virtual IUpdatableBusinessEntity Copy() { var newPersona = (Persona)PersonaRiferimento.Copy(); var referente = new Referente(string.Empty, newPersona, Azienda); return referente; }
private static TipoReferenteExport GetTipoReferente(Referente referente) { if (referente.Azienda.ResponsabileDinamico != null && referente.ID == referente.Azienda.ResponsabileDinamico.ID) return TipoReferenteExport.ResponsabileAzienda; else if (referente.Azienda.ResponsabileDinamicoAssicurazioni != null && referente.ID == referente.Azienda.ResponsabileDinamicoAssicurazioni.ID) return TipoReferenteExport.ResponsabileAssicurazioni; else if (referente.Azienda.ResponsabileDinamicoPremiAssicurativi != null && referente.ID == referente.Azienda.ResponsabileDinamicoPremiAssicurativi.ID) return TipoReferenteExport.ResponsabilePremiAssicuartivi; else if (referente.Azienda.ResponsabileDinamicoIncaricatoAttivita != null && referente.ID == referente.Azienda.ResponsabileDinamicoIncaricatoAttivita.ID) return TipoReferenteExport.ResponsabileAttivita; else if (referente.Azienda.ResponsabileDinamicoCondominio != null && referente.ID == referente.Azienda.ResponsabileDinamicoCondominio.ID) { return TipoReferenteExport.ResponsabileCondominio; } else return TipoReferenteExport.ResponsabileCondominio; }
public ReferenteDTO GetByDomainEntity(Referente referente) { try { return setDto(referente); } catch (Exception ex) { _log.Error("Errore nel caricamento dei referenti - " + Library.Utility.GetMethodDescription() + " - id:" + referente.ID, ex); throw; } }
private bool insert(ReferenteDTO dto, out Referente item) { item = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { // =================================================================== // Creazione Persona // =================================================================== Persona personaRiferimento; if (dto.PersonaId > 0) personaRiferimento = daoFactory.GetPersonaDao().GetById(dto.PersonaId, false); else { personaRiferimento = new Persona(Gipasoft.Sfera.Enums.TipoPersonaEnum.Fisica, dto.Nome, dto.Cognome, dto.IdAzienda, true); if (!string.IsNullOrEmpty(dto.Sesso)) personaRiferimento.Sesso = (Gipasoft.Sfera.Enums.SessoEnum)Enum.Parse(typeof(Gipasoft.Sfera.Enums.SessoEnum), dto.Sesso); personaRiferimento.DataNascita = dto.DataNascita; if (!string.IsNullOrEmpty(dto.CodiceComuneNascita)) personaRiferimento.ComuneNascita = daoFactory.GetComuneDao().GetById(dto.CodiceComuneNascita, false); personaRiferimento.CodiceFiscale = dto.CodiceFiscale; personaRiferimento.PartitaIva = dto.PartitaIva; //Lista Contatti personaRiferimento.Contatti.Clear(); foreach (var t in dto.Contatti) { _id = t.ID; if (t.Stato != string.Empty) _id = getContattoRepository(personaRiferimento).ManageDomainEntity(t, false); personaRiferimento.Contatti.Add(daoFactory.GetContattoDao().GetById(_id.GetValueOrDefault(), false)); } daoFactory.GetPersonaDao().SaveOrUpdate(personaRiferimento); } // =================================================================== // Creazione Referente // =================================================================== item = new Referente(dto.Sigla, personaRiferimento, daoFactory.GetAziendaDao().GetById(dto.IdAzienda, false)) {Dinamico = dto.Dinamico}; if (dto.Sostitutivo > 0) item.ReferenteSostitutivo = daoFactory.GetReferenteDao().GetById(dto.Sostitutivo, false); daoFactory.GetReferenteDao().SaveOrUpdate(item); return true; } catch (Exception ex) { _log.Error("Errore nell'inserimento del referente - " + Library.Utility.GetMethodDescription() + " - id:" + dto.ID, ex); throw; } }
private bool update(ReferenteDTO referenteDto, out Referente referente) { bool result; referente = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { referente = daoFactory.GetReferenteDao().GetById(referenteDto.ID, false); // Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia if (referenteDto.Version == referente.Version) { if (referenteDto.Sostitutivo > 0) referente.ReferenteSostitutivo = daoFactory.GetReferenteDao().GetById(referenteDto.Sostitutivo, false); referente.Dinamico = referenteDto.Dinamico; referente.Sigla = referenteDto.Sigla; if (referenteDto.PersonaId > 0) referente.PersonaRiferimento = daoFactory.GetPersonaDao().GetById(referenteDto.PersonaId, false); // --------------------------------------------------------- // Persona // --------------------------------------------------------- if (!referente.IsDinamico) { if (referente.PersonaRiferimento != null) { referente.PersonaRiferimento.Nome = referenteDto.Nome; referente.PersonaRiferimento.Cognome = referenteDto.Cognome; referente.PersonaRiferimento.DataNascita = referenteDto.DataNascita; referente.PersonaRiferimento.CodiceFiscale = referenteDto.CodiceFiscale; referente.PersonaRiferimento.PartitaIva = referenteDto.PartitaIva; if (!string.IsNullOrEmpty(referenteDto.CodiceComuneNascita)) referente.PersonaRiferimento.ComuneNascita = daoFactory.GetComuneDao().GetById(referenteDto.CodiceComuneNascita, false); if (referenteDto.Sesso == "Femmina") referente.PersonaRiferimento.Sesso = Gipasoft.Sfera.Enums.SessoEnum.Femmina; else if (referenteDto.Sesso == "Maschio") referente.PersonaRiferimento.Sesso = Gipasoft.Sfera.Enums.SessoEnum.Maschio; else referente.PersonaRiferimento.Sesso = Gipasoft.Sfera.Enums.SessoEnum.Undefined; //Lista Contatti referente.PersonaRiferimento.Contatti.Clear(); foreach (var t in referenteDto.Contatti) { _id = t.ID; if (t.Stato == "U" || t.Stato == "I") _id = getContattoRepository(referente.PersonaRiferimento).ManageDomainEntity(t, false); if (_id > 0) referente.PersonaRiferimento.Contatti.Add(daoFactory.GetContattoDao().GetById(_id.Value, false)); } } } else referente.Descrizione = referenteDto.Cognome; daoFactory.GetReferenteDao().Update(referente); result = true; } else { // Eccezione: Sul db c'è qualche cosa di più nuovo. _log.Error("Errore nel salvataggio del referente: id:" + referenteDto.ID.ToString() + " - il dato sul db è più recente di quello che si vuole salvare"); result = false; } } catch (Exception ex) { _log.Error("Errore nel salvataggio della referente - " + Library.Utility.GetMethodDescription() + " - id:" + referenteDto.ID, ex); throw; } return result; }
private ReferenteDTO setDto(Referente item) { if (item != null) { var dto = new ReferenteDTO { Version = item.Version, Sigla = item.Sigla, ID = item.ID, Dinamico = item.Dinamico, IdAzienda = item.Azienda.ID }; if (item.ReferenteSostitutivo != null) dto.Sostitutivo = item.ReferenteSostitutivo.ID; dto.IsDeleteAllow = true; if (item.CondominiAssemblea.Count > 0 || item.CondominiContabilita.Count > 0 || item.Condomini.Count > 0) dto.IsDeleteAllow = false; if (item.Dinamico != null && item.Dinamico.Value) { var referenteEffettivo = item.GetReferenteEffettivo(null, null); dto.DisplayName = item.DisplayName; if (referenteEffettivo != null && !string.IsNullOrEmpty(referenteEffettivo.Sigla)) dto.DisplayName += " (" + referenteEffettivo.Sigla + ")"; } else { dto.DisplayName = item.DisplayName; dto.DisplayNameCompleto = $"{dto.Sigla} - {dto.DisplayName}"; } if (item.PersonaRiferimento != null) { dto.Nome = item.PersonaRiferimento.Nome; dto.Cognome = item.PersonaRiferimento.Cognome; dto.PersonaId = item.PersonaRiferimento.ID; dto.NominativoPersona = item.DisplayName; dto.PartitaIva = item.PersonaRiferimento.PartitaIva; dto.CodiceFiscale = item.PersonaRiferimento.CodiceFiscale; dto.Sesso = item.PersonaRiferimento.Sesso.ToString(); dto.DataNascita = item.PersonaRiferimento.DataNascita; if (item.PersonaRiferimento.ComuneNascita != null) { dto.CodiceComuneNascita = item.PersonaRiferimento.ComuneNascita.Codice; dto.ComuneNascita = item.PersonaRiferimento.ComuneNascita.Descrizione; } // ---------------------------- // Contatti // ---------------------------- var contatti = new ContattoDTO[item.PersonaRiferimento.Contatti.Count]; var index = 0; foreach (var contatto in item.PersonaRiferimento.Contatti) { contatti[index] = getContattoRepository(item.PersonaRiferimento).GetByDomainEntity(contatto); index++; } dto.Contatti = contatti; // Per Lista var contattiColl = new ContattoCollection(item.PersonaRiferimento.Contatti); var cell = contattiColl.GetFirstContatto<Cellulare>(); if (cell != null) dto.Cellulare = cell.Valore; var tel = contattiColl.GetFirstContatto<Telefono>(); if (tel != null) dto.Telefono = tel.Valore; var mail = contattiColl.GetFirstContatto<Email>(); if (mail != null) dto.Email = mail.Valore; } else dto.Cognome = item.Descrizione; dto.NumeroCondominiAssemblea = item.CondominiAssemblea.Count; foreach (var condominio in item.CondominiAssemblea) { if (condominio.NumeroUnitaImmobiliari != null) dto.NumeroUnitaImmobiliariAssemblea += condominio.NumeroUnitaImmobiliari.Value; } // ---------------------------- // Condomini Assemblea // ---------------------------- var condominiAssemblea = new int[item.CondominiAssemblea.Count]; var indexCondominiAssemblea = 0; foreach (var condominio in item.CondominiAssemblea) { condominiAssemblea[indexCondominiAssemblea] = condominio.ID; indexCondominiAssemblea++; } dto.CondominiAssemblea = condominiAssemblea; return dto; } return null; }