コード例 #1
0
        public string ControlloSingoloMessaggio(int idMessaggio, IDaoFactory daoFactory)
        {
            try
            {
                var message = string.Empty;
                var storicoMessaggio = daoFactory.GetStoricoMessaggioDao().Find(idMessaggio, false);

                // ===================================================================================================
                //  Controlli EMAIL
                // ===================================================================================================
                if (storicoMessaggio.Tipo == TipoMessaggio.Email)
                {
                    if (!string.IsNullOrEmpty(storicoMessaggio.CodiceMessaggio))
                    {
                        var messaggiInviati = _mailService.GetEmailByMessageId(storicoMessaggio.CodiceMessaggio, storicoMessaggio.DataInvio, Hostname, 110, Username, Password);
                        _messaggisticaService.SetDaoFactory(daoFactory);
                        foreach (var kvp in messaggiInviati)
                        {
                            storicoMessaggio.Stato = StatoMessaggio.Ricevuto;
                            storicoMessaggio.DataRicezione = DateTime.Now;
                            _messaggisticaService.SetConfermaRicezioneNotifica(storicoMessaggio.CodiceMessaggio, kvp.Value);
                        }
                    }
                    else
                    {
                        message = "La mail è stata inviata con una versione del software che non consente il controllo del rapportino d'invio";
                    }
                }
                else
                    controlliSertea();

                return message;
            }
            catch (IOException ex)
            {
                _log.ErrorFormat("Errore inaspettato durante l'accesso al server per il controllo dei rapportini - {0} - messaggio:{1}", ex, Utility.GetMethodDescription(), idMessaggio);
                throw;
            }
        }