Example #1
0
        public ActionResult UntrashMail(Int64 id, Int64 mailAccountId = 0)
        {
            ISession     session = NHibernateManager.OpenSession();
            ITransaction tran    = session.BeginTransaction();

            try
            {
                MailAccount mailAccount = this.GetMailAccount(mailAccountId);
                Mail        mail        = new Mail(id, session);
                if (mail == null)
                {
                    throw new GlimpseException("Mail inexistente: " + id.ToString() + ".");
                }
                mailAccount.UntrashMail(mail, session); //IMAP y BD
                tran.Commit();

                JsonResult result = Json(new { success = true }, JsonRequestBehavior.AllowGet);
                return(result);
            }
            catch (GlimpseException exc)
            {
                tran.Rollback();
                Log.LogException(exc, "Parametros de la llamada: mailID(" + id.ToString() + ").");
                return(Json(new { success = false, message = exc.GlimpseMessage }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception exc)
            {
                tran.Rollback();
                Log.LogException(exc, "Parametros de la llamada: mailID(" + id.ToString() + ").");
                return(Json(new { success = false, message = exc.Message }, JsonRequestBehavior.AllowGet));
            }
            finally
            {
                session.Close();
            }
        }