Пример #1
0
 public void SetDefaultAttivita(Attivita attivita)
 {
     if (attivita != null)
     {
         // Alert scadenza attività
         var tipoAlert = _daoFactory.GetTipoAlertDao().Find(6, false);
         if (tipoAlert != null)
         {
             foreach (var dettaglio in tipoAlert.DettaglioReferenti)
             {
                 if (dettaglio.Azienda.ID == attivita.PraticaRiferimento.CondominioRiferimento.Azienda.ID)
                 {
                     var alertAttivita = new AlertAttivita(dettaglio.TipoNotifica, dettaglio.ReferenteRiferimento, attivita)
                     {
                         AvvisoScadenza = dettaglio.NumeroGiorni.GetValueOrDefault()
                     };
                 }
             }
         }
     }
 }
Пример #2
0
 public AlertAttivitaDTO GetByDomainEntity(AlertAttivita alert)
 {
     try
     {
         return setDto(alert);
     }
     catch (Exception ex)
     {
         if (alert != null)
             _log.ErrorFormat("Errore nel caricamento degli Alert - {0} - id:{1}", ex, Utility.GetMethodDescription(), alert.ID);
         else
             _log.ErrorFormat("Errore nel caricamento degli Alert - ALERT ATTIVITA --> NULL - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), _info.Azienda);
         throw;
     }
 }
Пример #3
0
        private bool insert(AlertAttivitaDTO alertDto, out AlertAttivita 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);

                    Attivita attivita = null;
                    if (alertDto.IdAttivita > 0)
                        attivita = daoFactory.GetAttivitaDao().Find(alertDto.IdAttivita, false);

                    Referente referente = null;
                    if (alertDto.IdDestinatario > 0)
                        referente = daoFactory.GetReferenteDao().Find(alertDto.IdDestinatario, false);

                    if (attivita != null && referente != null)
                    {
                        alert = new AlertAttivita(notifyType, referente, attivita)
                        {
                            AvvisoScadenza = alertDto.AvvisoScadenza,
                            TipoAvviso = notifyType
                        };
                        daoFactory.GetAlertAttivitaDao().SaveOrUpdate(alert);
                    }
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nell'inserimento dell'alert - {0} - id:{1} - attivita:{2} - referente:{3}", ex, Utility.GetMethodDescription(), alertDto.ID, alertDto.IdAttivita, alertDto.IdDestinatario);
                }
            }

            return true;
        }
Пример #4
0
        private bool update(AlertAttivitaDTO alertDto, out AlertAttivita alert)
        {
            alert = null;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                alert = daoFactory.GetAlertAttivitaDao().GetById(alertDto.ID, false);
                alert = daoFactory.GetAlertAttivitaDao().GetById(alertDto.ID, false);
                alert.AvvisoScadenza = alertDto.AvvisoScadenza;
                alert.Destinatario = daoFactory.GetReferenteDao().GetById(alertDto.IdDestinatario, false);
                alert.TipoAvviso = (NotifyType)Enum.Parse(typeof(NotifyType), alertDto.TipoAvviso);

                daoFactory.GetAlertAttivitaDao().Update(alert);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel salvataggio dell'alert attività - {0} - id:{1}", ex, Utility.GetMethodDescription(), alertDto.ID);
                throw;
            }

            return true;
        }
Пример #5
0
        private AlertAttivitaDTO setDto(AlertAttivita alert)
        {
            try
            {
                var dto = new AlertAttivitaDTO
                {
                    AvvisoScadenza = alert.AvvisoScadenza,
                    DisplayName = alert.ToString(),
                    ID = alert.ID,
                    TipoAvviso = alert.TipoAvviso.ToString(),
                    ToNotify = alert.ToNotify
                };

                if (alert.Destinatario != null)
                {
                    dto.IdDestinatario = alert.Destinatario.ID;
                    if (alert.Destinatario.IsDinamico)
                    {
                        var referenteEffettivo = alert.Destinatario.GetReferenteEffettivo(alert.Attivita.PraticaRiferimento.CondominioRiferimento, alert.Attivita);
                        dto.DisplayDestinatario = alert.Destinatario.DisplayName;
                        if(referenteEffettivo != null)
                            dto.DisplayDestinatario += " (" + referenteEffettivo.Sigla + ")";
                    }
                    else
                        dto.DisplayDestinatario = alert.Destinatario.DisplayName;
                }

                dto.Version = alert.Version;

                return dto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella creazione dell'oggetto DTO per alert -  {0} - id:{1}", ex, Utility.GetMethodDescription(), alert.ID);
                throw;
            }
        }
Пример #6
0
        private void notifySingleAlert(AlertAttivita alert, IDaoFactory daoFactory)
        {
            if (alert.TipoAvviso == NotifyType.Email)
                notifyEmailAlert(alert, daoFactory);

            // In futuro prevedere le altre tipologie di notifica
        }