Exemplo n.º 1
0
        public ActionResult ArchiveMail(Int64 mailId, Int64 mailAccountId = 0)
        {
            ISession     session = NHibernateManager.OpenSession();
            ITransaction tran    = session.BeginTransaction();

            try
            {
                MailAccount currentMailAccount = this.GetMailAccount(mailAccountId);
                Mail        mail = new Mail(mailId, session);
                mail.Archive(session);                //DB
                tran.Commit();
                currentMailAccount.ArchiveMail(mail); //IMAP

                return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception exc)
            {
                tran.Rollback();
                Log.LogException(exc, "Parametros del metodo: mailId(" + mailId.ToString() +
                                 "), mailAccountId(" + mailAccountId.ToString() + ").");
                return(Json(new { success = false, message = "Error al archivar mail." }, JsonRequestBehavior.AllowGet));
            }
            finally
            {
                session.Close();
            }
        }