public static void SetDefault(AssicurazioneContratto contratto) { if (contratto.Tipo != null) { // Alert scadenza contratto if (contratto.Tipo.TipoAlertRiferimento != null) { foreach (TipoAlertDettaglio dettaglio in contratto.Tipo.TipoAlertRiferimento.DettaglioReferenti) { if (dettaglio.Azienda.ID == contratto.CondominioRiferimento.Azienda.ID) { var alertContratto = new AlertScadenzaContratto(dettaglio.TipoNotifica, "Alert di default", contratto) { Destinatario = dettaglio.ReferenteRiferimento, AvvisoScadenza = dettaglio.NumeroGiorni.GetValueOrDefault() }; } } } // Alert scadenza premio assicurativo if (contratto.Tipo.TipoAlertPremioRiferimento != null) { foreach (var dettaglio in contratto.Tipo.TipoAlertPremioRiferimento.DettaglioReferenti) { if (dettaglio.Azienda.ID == contratto.CondominioRiferimento.Azienda.ID) { var alertContratto = new AlertPremioContratto(dettaglio.TipoNotifica, "Alert di default", contratto) { Destinatario = dettaglio.ReferenteRiferimento, AvvisoScadenza = dettaglio.NumeroGiorni.GetValueOrDefault() }; } } } } }
private bool insert(AlertContrattoDTO alertDto, out AlertContratto alert) { alert = null; if (alertDto != null) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { var notifyType = NotifyType.Email; if(!string.IsNullOrEmpty(alertDto.TipoAvviso)) notifyType = (NotifyType) Enum.Parse(typeof (NotifyType), alertDto.TipoAvviso); switch (alertDto.TipoAlert) { case TipoAlertEnum.ContrattoAppalto: ContrattoAppalto contrattoAppalto = null; if (alertDto.IdContratto > 0) contrattoAppalto = daoFactory.GetContrattoAppaltoDao().Find(alertDto.IdContratto.Value, false); alert = new AlertScadenzaContratto(notifyType, alertDto.Descrizione, contrattoAppalto); break; case TipoAlertEnum.ContrattoAssicurativo: AssicurazioneContratto contrattoAssicurativo = null; if (alertDto.IdContratto > 0) contrattoAssicurativo = daoFactory.GetAssicurazioneContrattoDao().Find(alertDto.IdContratto.Value, false); alert = new AlertScadenzaContratto(notifyType, alertDto.Descrizione, contrattoAssicurativo); break; case TipoAlertEnum.PremioAssicurativo: AssicurazioneContratto contrattoPremio = null; if (alertDto.IdContratto > 0) contrattoPremio = daoFactory.GetAssicurazioneContrattoDao().Find(alertDto.IdContratto.Value, false); alert = new AlertPremioContratto(notifyType, alertDto.Descrizione, contrattoPremio); break; } if (alert != null) { alert.AvvisoScadenza = alertDto.AvvisoScadenza; alert.Descrizione = alertDto.Descrizione; alert.Destinatario = daoFactory.GetReferenteDao().Find(alertDto.IdReferente, false); alert.TipoAvviso = notifyType; daoFactory.GetAlertContrattoDao().SaveOrUpdate(alert); } } catch (Exception ex) { _log.Error("Errore nell'inserimento dell'alert: " + Utility.GetMethodDescription() + " - id:" + alertDto.ID + " - contratto:" + alertDto.IdContratto.GetValueOrDefault(), ex); } } return true; }