protected void btnLoadRevision_Click(object sender, EventArgs args)
    {
        int html_revision_id;

        if (int.TryParse(cmbRevisions.SelectedValue, out html_revision_id))
        {
            var html_revision = new qPtl_HTMLRevision(html_revision_id);

            reContent.Content = html_revision.HTML;

            cmbRevisions.ClearSelection();
            cmbRevisions.Text = string.Empty;

            lblMessage.Text = string.Empty;
        }
    }
    protected void btnSave_OnClick(object sender, EventArgs e)
    {
        Page.Validate("form");

        if (Page.IsValid)
        {
            int language_id = 1;
            int emailID = (string.IsNullOrEmpty(Request.QueryString["emailID"])) ? 0 : Convert.ToInt32(Request.QueryString["emailID"]);
            int curr_email_id = 0;
            int scopeID = Convert.ToInt32(Context.Items["ScopeID"]);
            int user_id = Convert.ToInt32(Context.Items["UserID"]);
            var last_version_number = qPtl_HTMLRevision.GetLastVersionNumber(emailID, "email", language_id);
            qPtl_User user = new qPtl_User(user_id);

            if (emailID > 0)
            {
                lblTitle.Text = "Edit Email";
                qCom_EmailItem email = new qCom_EmailItem(emailID);
                email.URI = txtURI.Text;
                email.Subject = txtSubject.Text;
                if (!String.IsNullOrEmpty(Convert.ToString(ddlEmailType.SelectedValue)))
                    email.Type = Convert.ToString(ddlEmailType.SelectedValue);
                if (!String.IsNullOrEmpty(Convert.ToString(ddlLanguages.SelectedValue)))
                    email.LanguageID = Convert.ToInt32(ddlLanguages.SelectedValue);
                if (!String.IsNullOrEmpty(Convert.ToString(ddlCampaigns.SelectedValue)))
                    email.CampaignID = Convert.ToInt32(ddlCampaigns.SelectedValue);
                email.Draft = reContent.Content;
                email.Update();

                lblMessage.Text = "*** Email Successfully Saved at " + DateTime.Now + " ***";

                curr_email_id = emailID;

                //Response.Redirect("~/qCom/email-list.aspx");
            }
            else
            {
                int new_email_id = CreateNewEmail("new", -1);

                lblMessage.Text = "*** Email Successfully Created at " + DateTime.Now + " ***";

                curr_email_id = new_email_id;
                //Response.Redirect("~/qCom/email-list.aspx");
            }

            qPtl_HTMLRevision revision = new qPtl_HTMLRevision();
            revision.Available = "Yes";
            revision.ScopeID = Convert.ToInt32(Context.Items["ScopeID"]);
            revision.Created = DateTime.Now;
            revision.CreatedBy = user_id;
            revision.LastModified = DateTime.Now;
            revision.LastModifiedBy = user_id;
            revision.MarkAsDelete = 0;
            revision.ModuleInstanceID = curr_email_id;
            revision.SourceType = "email";
            revision.HTML = reContent.Content;
            revision.VersionNumber = last_version_number + 1;
            revision.VersionInfo = "Version: " + revision.VersionNumber + " saved by " + user.FirstName + " " + user.LastName + " [" + user.UserName + "] at " + DateTime.Now;
            revision.LanguageID = language_id;

            revision.Insert();
        }
    }