public bool UpdateAllMails(MailStatus mailStatus, string account, string folder, string utente, Dictionary <MailTypeSearch, string> idx)
 {
     using (MailHeaderDaoSQLDb dao = new MailHeaderDaoSQLDb())
     {
         return(dao.UpdateAllMails(mailStatus, account, folder, utente, idx));
     }
 }
 public int UpdateMailSentStatus(string account, List <string> idMails, MailStatus newStatus, string utente, string action, string parentFolder)
 {
     using (MailHeaderDaoSQLDb dao = new MailHeaderDaoSQLDb())
     {
         return(dao.UpdateMailSentStatus(account, idMails, newStatus, utente, action, parentFolder));
     }
 }
 private void InitOption(MailStatus status, MailCause cause)
 {
     this.mStatus = status;
     this.mCause = cause;
     this.mSocketErrorCode = 0;
     this.mSocketErrorCodeType = SocketError.Success;
 }
        public int UpdateMailStatus(String account, List <String> idMails, MailStatus newStatus, string actionid, String utente, string parentFolder)
        {
            int i = 0;

            using (MailHeaderDaoSQLDb dao = new MailHeaderDaoSQLDb())
            {
                switch (parentFolder)
                {
                case "I":
                case "A":
                    i = dao.UpdateMailStatus(account, idMails, newStatus, actionid, utente);
                    break;

                case "O":
                case "AO":
                    i = dao.UpdateMailSentStatus(account, idMails, newStatus, utente, actionid, parentFolder);
                    break;

                case "C":
                    switch (actionid)
                    {
                    case "4":
                    case "14":
                        i = dao.UpdateMailStatus(account, idMails, newStatus, actionid, utente);
                        break;

                    case "6":
                        i = dao.UpdateMailSentStatus(account, idMails, newStatus, utente, actionid, parentFolder);
                        break;
                    }
                    break;
                }
            }
            return(i);
        }
        internal static MailStatus TryParsEnumStatus(string p)
        {
            MailStatus status = MailStatus.UNKNOWN;

            Enum.TryParse(p, out status);
            return(status);
        }
 public bool UpdateAllMails(MailStatus mailStatus, string account, string folder, string utente, Dictionary <MailTypeSearch, string> idx)
 {
     using (IMailHeaderDao dao = getDaoContext().DaoImpl.MailHeaderDao)
     {
         return(dao.UpdateAllMails(mailStatus, account, folder, utente, idx));
     }
 }
 public int UpdateMailSentStatus(string account, List <string> idMails, MailStatus newStatus, string utente, string action, string parentFolder)
 {
     using (IMailHeaderDao dao = getDaoContext().DaoImpl.MailHeaderDao)
     {
         return(dao.UpdateMailSentStatus(account, idMails, newStatus, utente, action, parentFolder));
     }
 }
Exemple #8
0
    public void Refresh()
    {
        titleLabel.text = _mailVo.TitleDisplay;
        MailStatus status = _mailVo.HasRead ? MailStatus.read : MailStatus.unread;

        icon.spriteName = mailStatusMapping[status];
        attachment.gameObject.SetActive(_mailVo.Collectable);
        expireTimeLabel.text = String.Format(Localization.Localize("IDS_MESSAGE_MAIL_LASTDAY"),
                                             TimeUtils.GetSurplusTimeString(_mailVo.ExpireTime));
    }
 public void UpdateStatus(int mailingAddressId, MailStatus status)
 {
     using (var repo = Factory.GetService <IMailSenderRepository>())
     {
         repo.UpdateStatus(new[] { new MessageStatusEM
                                   {
                                       Id       = mailingAddressId,
                                       StatusId = (int)status
                                   } });
     }
 }
 public MailExceptionEx(MailStatus status, MailCause cause, string message)
 {
     this.InitOption(status, cause);
     try
     {
         Exception exception = new Exception(message);
         throw exception;
     }
     catch (Exception exception2)
     {
         this.mException = exception2;
     }
 }
Exemple #11
0
        protected Storage.Entities.Mail SetupMail(MailStatus status = MailStatus.Pending)
        {
            // TODO move to factory
            var mailRecord = new Storage.Entities.Mail
            {
                Sender     = Faker.Internet.Email(),
                Recipients = new[] { Faker.Internet.Email(), Faker.Internet.Email() },
                Subject    = Faker.Company.Name(),
                Body       = Faker.Lorem.Paragraph(),
                Priority   = MailPriority.Normal,
                Status     = status
            };

            DbContext.Mails.Add(mailRecord);
            DbContext.SaveChanges();
            return(mailRecord);
        }
Exemple #12
0
 public void InsertFlussoInbox(Int64 id, MailStatus oldSt, MailStatus newSt, DateTime?dataOp, string uteOpe)
 {
     try
     {
         using (OracleCommand oCmd = base.CurrentConnection.CreateCommand())
         {
             oCmd.CommandText = insertFlusso;
             oCmd.BindByName  = true;
             oCmd.Parameters.AddRange(MapToOracleParams(id, (oldSt == MailStatus.UNKNOWN) ? null : ((int)oldSt).ToString(), ((int)newSt).ToString(), dataOp, uteOpe));
             oCmd.ExecuteNonQuery();
         }
     }
     catch
     {
         throw;
     }
 }
Exemple #13
0
        public static void SetMailStatus(Guid id, MailStatus status)
        {
            using (SqlConnection sqlConnection = DBUtil.CreateConnection(ConnectionSource.Communication))
            {
                sqlConnection.Open();

                using (SqlCommand cmd = new SqlCommand(SetMailStatusCommand, sqlConnection))
                {
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(new SqlParameter("@Id", id));
                    cmd.Parameters.Add(new SqlParameter("@Status", (int)status));
                    cmd.ExecuteNonQuery();
                }

                sqlConnection.Close();
            }
        }
 public MailExceptionEx(MailStatus status, MailCause cause, object baseException)
 {
     this.InitOption(status, cause);
     if (baseException.GetType() == typeof(TimeoutException))
     {
         this.mException = ((TimeoutException) baseException).GetBaseException();
     }
     else if (baseException.GetType() == typeof(SocketException))
     {
         this.mException = (SocketException) baseException;
         this.mSocketErrorCode = ((SocketException) baseException).ErrorCode;
         this.mSocketErrorCodeType = ((SocketException) baseException).SocketErrorCode;
     }
     else
     {
         this.mException = (Exception) baseException;
     }
 }
Exemple #15
0
        public void SetStatoComunicazione(TipoCanale tipoCanale, MailStatus statoCom, String utenteOperazione)
        {
            List <ComFlusso> flussoCom = null;

            if (this.ComFlussi == null)
            {
                this.ComFlussi = new Dictionary <TipoCanale, List <ComFlusso> >();
            }

            if (this.ComFlussi.ContainsKey(tipoCanale))
            {
                flussoCom = this.ComFlussi[tipoCanale];
            }

            ComFlusso cf = new ComFlusso();

            cf.Canale             = tipoCanale;
            cf.RefIdComunicazione = this.IdComunicazione;
            if (flussoCom != null)
            {
                cf.StatoComunicazioneOld = this.ComFlussi[tipoCanale].Last().StatoComunicazioneNew;
            }
            else
            {
                cf.StatoComunicazioneOld = MailStatus.UNKNOWN;
            }
            cf.StatoComunicazioneNew = statoCom;
            cf.UtenteOperazione      = utenteOperazione;
            if (flussoCom == null)
            {
                List <ComFlusso> l = new List <ComFlusso>();
                l.Add(cf);
                this.ComFlussi.Add(tipoCanale, l);
            }
            else
            {
                this.ComFlussi[tipoCanale].Add(cf);
            }
        }
Exemple #16
0
        private void MoveToHistory(MailStatus status)
        {
            using (SqlConnection sqlConnection = DBUtil.CreateConnection(ConnectionSource.Communication))
            {
                sqlConnection.Open();

                using (SqlCommand cmd = new SqlCommand(MoveToHistoryCommandText, sqlConnection))
                {
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(new SqlParameter("@MailQueueId", Id));
                    cmd.Parameters.Add(new SqlParameter("@From", From));
                    cmd.Parameters.Add(new SqlParameter("@To", ToRecipient));
                    cmd.Parameters.Add(new SqlParameter("@Cc", CcRecipients));
                    cmd.Parameters.Add(new SqlParameter("@Bcc", BccRecipients));
                    cmd.Parameters.Add(new SqlParameter("@Subject", Subject));
                    cmd.Parameters.Add(new SqlParameter("@Body", Body));
                    cmd.Parameters.Add(new SqlParameter("@Priority", Priority));
                    cmd.Parameters.Add(new SqlParameter("@CreateDate", CreateDate));
                    cmd.Parameters.Add(new SqlParameter("@HasAttachment", HasAttachment));
                    cmd.Parameters.Add(new SqlParameter("@Status", (int)status));

                    if (MailProviderId.HasValue)
                    {
                        cmd.Parameters.Add(new SqlParameter("@MailProviderId", MailProviderId.Value));
                    }
                    else
                    {
                        cmd.Parameters.Add(new SqlParameter("@MailProviderId", DBNull.Value));
                    }

                    cmd.ExecuteNonQuery();
                }

                sqlConnection.Close();
            }
        }
        public dtoMailTransactionResult SendMail(dtoMailMessage eMail)
        {
            try
            {
                dtoMailTransactionResult mailResp = new dtoMailTransactionResult();
                Mail mailMessage            = new Mail();
                bool senderMailUpdateStatus = false;

                eMail = validateMailForDraft(eMail);

                var emailsToSend = eMail.ToEmail.Split(',');

                foreach (string toEmail in emailsToSend)
                {
                    mailMessage = Mapper.Map <Mail>(eMail); //mapping

                    //prepare eMail Message for Reveiver
                    PrepareReceiverMailData(mailMessage, toEmail);

                    MailStatus mailStatus = new MailStatus();
                    mailStatus.EmailId          = toEmail.Trim();
                    mailStatus.IsSentSuccessful = false;
                    using (DbContextTransaction transaction = dataContext.Database.BeginTransaction())
                    {
                        try
                        {
                            //Save reveiver Mail
                            dataContext.Mails.Add(mailMessage);
                            int resCount = dataContext.SaveChanges();

                            foreach (var dtoAttach in eMail.AttachmentsList)
                            {
                                MailAttachment mAttach = new MailAttachment();
                                mAttach.AttachmentId = 0;
                                mAttach.MailId       = mailMessage.MailId;
                                mAttach.Attachment   = dtoAttach.Attachment;

                                dataContext.MailAttachments.Add(mAttach);
                                int attRes = dataContext.SaveChanges();
                            }

                            mailStatus.MailId           = mailMessage.MailId; //
                            mailStatus.IsSentSuccessful = true;
                            mailResp.Mails.Add(mailStatus);

                            if (!senderMailUpdateStatus)
                            {
                                Mail senderMail = Mapper.Map <Mail>(eMail); //mapping
                                PrepareSenderMailData(senderMail);
                                //Update sender mail Status
                                dataContext.Entry(senderMail).State = EntityState.Modified;
                                Int32 senderReturnVal = dataContext.SaveChanges();
                                senderMailUpdateStatus = true;
                                mailResp.ResultSattus  = true;
                            }

                            transaction.Commit();

                            fileService.CopyFiles(eMail.MailId, mailMessage.MailId);
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            mailStatus.IsSentSuccessful = false;
                            mailResp.Mails.Add(mailStatus);
                        }
                    }
                }

                return(mailResp);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void Insert(ActiveUp.Net.Mail.DeltaExt.MailUser user, ActiveUp.Net.Mail.Message m)
        {
            using (var dbcontext = new FAXPECContext())
            {
                using (var dbTransaction = dbcontext.Database.BeginTransaction())
                {
                    MAIL_INBOX c    = AutoMapperConfiguration.MapToMailInBoxDto(user, m);
                    int        rows = 0;
                    try
                    {
                        dbcontext.MAIL_INBOX.Add(c);
                        dbcontext.SaveChanges();
                        var        mailinboxnew = dbcontext.MAIL_INBOX.Where(z => z.MAIL_SERVER_ID == c.MAIL_SERVER_ID).First();
                        int        newid        = (int)mailinboxnew.ID_MAIL;
                        MailStatus newStatus    = MailStatus.SCARICATA;
                        MailStatus oldStatus    = MailStatus.UNKNOWN;
                        if (String.IsNullOrEmpty(m.MessageId))
                        {
                            newStatus = MailStatus.SCARICATA_INCOMPLETA;
                        }
                        string            os = ((int)oldStatus).ToString();
                        string            ns = ((int)newStatus).ToString();
                        MAIL_INBOX_FLUSSO f  = AutoMapperConfiguration.MapToMailInboxFlussoDto(newid, os, ns, m.ReceivedDate, "SYSTEM");
                        dbcontext.MAIL_INBOX_FLUSSO.Add(f);
                        rows = dbcontext.SaveChanges();
                        dbTransaction.Commit();
                    }
                    catch (SqlException oEx)
                    {
                        if (dbTransaction.UnderlyingTransaction.Connection != null)
                        {
                            dbTransaction.Rollback();
                        }
                        ManagedException mEx = mEx = new ManagedException("Errore nell'inserimento su DB della mail con uid: " + m.Uid
                                                                          + " della casella " + user.EmailAddress,
                                                                          "ERR_INS_ML_001", string.Empty, string.Empty, oEx.InnerException);
                        mEx.addEnanchedInfosTag("DETTAGLIO", "Classe: MailMessageDaoOracleDb " + "Metodo: Insert(MailUser user, Message m) " +
                                                "Dettaglio: Salvataggio della mail su Oracle DB " +
                                                "User Login: "******" Mail UID: " + m.Uid);
                        ErrorLogInfo err;

                        if (oEx.Message.StartsWith("ORA-00001", StringComparison.InvariantCultureIgnoreCase))
                        {
                            mEx.CodiceEccezione = "WRN_INS_ML_001";
                            err = new ErrorLogInfo(mEx);
                            _log.Warn(err);
                        }
                        else
                        {
                            err = new ErrorLogInfo(mEx);
                            _log.Error(err);
                        }
                        if (dbTransaction.UnderlyingTransaction.Connection != null)
                        {
                            dbTransaction.Rollback();
                        }
                        throw mEx;
                    }
                    catch (Exception ex)
                    {
                        if (!ex.GetType().Equals(typeof(ManagedException)))
                        {
                            ManagedException mEx = new ManagedException(ex.Message,
                                                                        "ERR_COM_006", string.Empty, string.Empty, ex.InnerException);
                            ErrorLogInfo err = new ErrorLogInfo(mEx);

                            _log.Error(err);
                        }
                        if (dbTransaction.UnderlyingTransaction.Connection != null)
                        {
                            dbTransaction.Rollback();
                        }
                        throw;
                    }
                }
            }
        }
Exemple #19
0
 public void ShowRequestError(MailStatus status, int errcode)
 {
     if (errcode != 0)
     {
         string str;
         if (Enum.GetNames(typeof(MailResult))[errcode].ToString().StartsWith(MailResult.StatusError.ToString()))
         {
             if (status == MailStatus.Open)
             {
                 str = "E201";
             }
             else if (status == MailStatus.Send)
             {
                 str = "E202";
             }
             else if (status == MailStatus.Receive)
             {
                 str = "E203";
             }
             else if (status == MailStatus.List)
             {
                 str = "E204";
             }
             else if (status == MailStatus.Delete)
             {
                 str = "E205";
             }
             else
             {
                 str = "E209";
             }
         }
         else
         {
             str = "E209";
         }
         base.ShowMessage(str, null, null);
     }
 }
Exemple #20
0
        // Handles what happens when a menu item is chosen
        private void HandleSelection()
        {
            // Remove all rectangles from list so they can be updated to suit current menu
            selectionRects.RemoveRange(0, selectionRects.Count);

            switch (currMenu)
            {
                // Main menu
                case Menu.Main:

                    switch (selectedOption)
                    {
                        // New Game
                        case 0:
                            game.inMainMenu = false;
                            Level.FurthestLevelReached = 0;
                            game.LoadMainWorld();
                            break;

                        // Load level
                        case 1:
                            currMenu = Menu.LoadGame;
                            // Get furthest level from save file
                            Game.DoLoadGame();
                            break;

                        // Options
                        case 2:
                            currMenu = Menu.Options;
                            break;

                        // Quit
                        case 3:
                            currMenu = Menu.Check;
                            //game.Exit();
                            break;
                    }
                    break;

                // Load level menu
                case Menu.LoadGame:
                    switch (selectedOption)
                    {
                        // Load level - load a saved game from a save file
                        case 0:
                            //StorageDevice device = new StorageDevice();
                            //Game.DoLoadGame(); //- start game from previous furthest level
                            game.inMainMenu = false;
                            game.LoadMainWorld();
                            break;

                        // Back
                        case 1:
                            currMenu = Menu.Main;
                            break;

                    }
                    break;

                // Options menu
                case Menu.Options:
                    switch (selectedOption)
                    {
                        // Sound
                        case 0:
                            Game.soundOn = !Game.soundOn;
                            //if (Game.soundOn)
                                MediaPlayer.IsMuted = !Game.soundOn;
                            break;

                        // Controls
                        case 1:
                            currMenu = Menu.Controls;
                            break;

                        // Credits
                        case 2:
                            currMenu = Menu.Credits;
                            break;

                        // Send email
                        case 3:
                            // Reset all text fields to blank
                            emailText.Clear();
                            subjectText.Clear();
                            messageText.Clear();

                            currMenu = Menu.Email;
                            mailStatus = MailStatus.Writing;
                            break;

                        // Visit website
                        case 4:
                            System.Diagnostics.Process.Start("http://www.benhomer.freeiz.com/blog/");
                            break;

                        // Back
                        case 5:
                            currMenu = Menu.Main;
                            break;

                    }
                    break;

                // Credits menu
                case Menu.Credits:
                    switch (selectedOption)
                    {
                        // Back
                        case 0:
                            currMenu = Menu.Options;
                            break;
                    }
                    break;

                // Controls menu
                case Menu.Controls:
                    switch (selectedOption)
                    {
                        // Back
                        case 0:
                            currMenu = Menu.Options;
                            break;
                    }
                    break;

                // Email menu
                case Menu.Email:
                    switch (selectedOption)
                    {

                        // Send
                        case 0:
                                try
                                {
                                    MailMessage mail = new MailMessage();
                                    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

                                    mail.From = new MailAddress("*****@*****.**");
                                    mail.To.Add("*****@*****.**");
                                    mail.Subject = "Redman: " + subjectText;
                                    mail.Body = "From: " + emailText + "\n" + messageText;

                                    if (emailText.Length == 0)
                                        mailStatus = MailStatus.NoSender;
                                    else if (subjectText.Length == 0)
                                        mailStatus = MailStatus.NoSubject;
                                    else if (messageText.Length == 0)
                                        mailStatus = MailStatus.NoMessage;
                                    else
                                    {
                                        SmtpServer.Port = 587;
                                        // Find out how to encrypt username and password
                                        SmtpServer.Credentials = new System.Net.NetworkCredential("********", "********");
                                        SmtpServer.EnableSsl = true;

                                        SmtpServer.Send(mail);
                                        mailStatus = MailStatus.Sent;
                                    }
                                }
                                catch (Exception)
                                {
                                    mailStatus = MailStatus.Failed;
                                }
                        break;

                        // Back
                        case 1:
                            currMenu = Menu.Options;
                            break;

                        // Email address text box
                        case 2:
                            currSelected = nameR;
                            break;

                        // Subject text box
                        case 3:
                            currSelected = subjectR;
                            break;

                        // Message text box
                        case 4:
                            currSelected = messageR;
                            break;

                    }
                    break;

                // Check menu
                case Menu.Check:
                    switch (selectedOption)
                    {
                        // Yes (exit)
                        case 0:
                            game.Exit();
                            break;
                        // No (don't exit)
                        case 1:
                            currMenu = Menu.Main;
                            break;
                    }
                    break;
            }

            // After handling selection set selected option to be the first one in new menu
            selectedOption = 0;
        }
 public PagedList<ContextAnalyticsNode> GetStatistics(Guid campaignID, MailStatus type = MailStatus.Sent, int page = 1, int pageSize = 50, DateTime? from = null, DateTime? to = null)
 {
     return _Manager.MakeRequest<SerializableContextAnalyticsNodeCollection>(HttpMethod.GET, String.Format("/campaigns/{0}/stats/{1}", campaignID, type.ToString())).PagedList;
 }
Exemple #22
0
        public void Insert(MailUser user, Message m)
        {
            using (OracleCommand cmd = base.CurrentConnection.CreateCommand())
            {
                Context.StartTransaction(this.GetType());
                cmd.CommandText = insertMessage;
                cmd.Parameters.AddRange(MapToOracleParams(user, m));
                cmd.BindByName = true;
                int rows = 0;
                try
                {
                    rows = cmd.ExecuteNonQuery();
                }
                catch (OracleException oEx)
                {
                    //Allineamento log - Ciro
                    ManagedException mEx = mEx = new ManagedException("Errore nell'inserimento su DB della mail con uid: " + m.Uid
                                                                      + " della casella " + user.EmailAddress,
                                                                      "ERR_INS_ML_001", string.Empty, string.Empty, oEx.InnerException);
                    mEx.addEnanchedInfosTag("DETTAGLIO", "Classe: MailMessageDaoOracleDb " + "Metodo: Insert(MailUser user, Message m) " +
                                            "Dettaglio: Salvataggio della mail su Oracle DB " +
                                            "User Login: "******" Mail UID: " + m.Uid);
                    //"MailMessageDaoOracleDb",
                    //"Insert(MailUser user, Message m)",
                    //"Salvataggio della mail su Oracle DB",
                    //user.LoginId,
                    //m.Uid,
                    //oEx);
                    ErrorLogInfo err;

                    if (oEx.Message.StartsWith("ORA-00001", StringComparison.InvariantCultureIgnoreCase))
                    {
                        mEx.CodiceEccezione = "WRN_INS_ML_001";
                        err = new ErrorLogInfo(mEx);
                        _log.Warn(err);
                    }
                    else
                    {
                        err = new ErrorLogInfo(mEx);
                        _log.Error(err);
                    }
                    Context.RollBackTransaction(this.GetType());
                    throw mEx;
                }
                catch (Exception ex)
                {
                    //TASK: Allineamento log - Ciro
                    if (!ex.GetType().Equals(typeof(ManagedException)))
                    {
                        ManagedException mEx = new ManagedException(ex.Message,
                                                                    "ERR_COM_006", string.Empty, string.Empty, ex.InnerException);
                        ErrorLogInfo err = new ErrorLogInfo(mEx);

                        _log.Error(err);
                    }
                    //ErrorLogInfo error = new ErrorLogInfo();
                    //error.freeTextDetails = ex.Message;
                    //error.logCode = "ERR_COM_006";
                    //_log.Error(error);
                    Context.RollBackTransaction(this.GetType());
                    throw;
                }

                if (rows == 1)
                {
                    Int64 id = Convert.ToInt64(cmd.Parameters["pID_MAIL"].Value.ToString());
                    m.Id = (int)id;

                    cmd.CommandText = "UPDATE mail_inbox SET mail_file = :p_FILE WHERE id_mail = :p_ID_MAIL";
                    cmd.Parameters.Clear();
                    cmd.BindByName = true;
                    cmd.Parameters.Add("p_ID_MAIL", id);
                    OracleClob clob    = new OracleClob(CurrentConnection);
                    char[]     msgData = Encoding.GetEncoding("iso-8859-1").GetChars(m.OriginalData);
                    clob.BeginChunkWrite();
                    int BUFFER_SIZE = 1024, startOffset = 0, writeBytes = 0;
                    do
                    {
                        writeBytes = startOffset + BUFFER_SIZE > msgData.Length ? msgData.Length - startOffset : BUFFER_SIZE;
                        clob.Write(msgData, startOffset, writeBytes);
                        startOffset += writeBytes;
                    } while (startOffset < msgData.Length);
                    clob.EndChunkWrite();

                    OracleParameter par = new OracleParameter("p_FILE", OracleDbType.Clob);
                    par.Value = clob;
                    cmd.Parameters.Add(par);

                    try
                    {
                        int risp = cmd.ExecuteNonQuery();
                        if (risp != 1)
                        {
                            throw new InvalidOperationException("Errore nel salvataggio del MIME in banca dati.");
                        }
                    }
                    catch
                    {
                        Context.RollBackTransaction(this.GetType());
                        throw;
                    }

                    try
                    {
                        MailStatus newStatus = MailStatus.SCARICATA;
                        if (String.IsNullOrEmpty(m.MessageId))
                        {
                            newStatus = MailStatus.SCARICATA_INCOMPLETA;
                        }
                        InsertFlussoInbox(id, MailStatus.UNKNOWN, newStatus, m.ReceivedDate, "SYSTEM");
                    }
                    catch
                    {
                        Context.RollBackTransaction(this.GetType());
                        throw;
                    }
                }
                else
                {
                    Context.RollBackTransaction(this.GetType());
                    throw new Exception("Messaggio non inserito in banca dati");
                }
                Context.EndTransaction(this.GetType());
            }
        }