Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            foreach (string name in Request.QueryString)
            {
                try
                {
                    dicSession.Add(name, Request.QueryString[name]);
                }
                catch {
                    try
                    {
                        dicSession[name] = Request.QueryString[name];
                    } catch {}
                }
            }

            foreach (string name in Request.Form)
            {
                try
                {
                    dicSession.Add(name, Request.Form[name]);
                }
                catch {
                    try
                    {
                        dicSession[name] = Request.Form[name];
                    }
                    catch { }
                }
            }

            showValues(dicSession);

            if (Request.QueryString.Count > 0)
            {
                Session["LoginGuid"]   = Request["LoginGuid"];
                Session["SessionKey"]  = Request["SessionKey"];
                Session["ProjectGuid"] = Request["ProjectGuid"];
            }

            var url   = "http://localhost/cms";
            var login = new ServerLogin(url, null);

            Guid   loginGuid   = new Guid(Session["LoginGuid"].ToString());
            Guid   projectGuid = new Guid(Session["ProjectGuid"].ToString());
            String sessionKey  = Session["SessionKey"].ToString();

            var sessionBuilder = new SessionBuilder(login, loginGuid, sessionKey, projectGuid);

            //session
            var session = sessionBuilder.CreateSession();

            //serverManger
            var serverManager = session.ServerManager;

            selectedProject = serverManager.Projects.GetByGuid(projectGuid);
            //var selectedProject = session.ServerManager.Projects["tfl.gov.uk"];
            //var selectedProject = session.SelectedProject;

            TextBox1.Text = "Project: " + selectedProject.Name;

            var projectVariants  = selectedProject.ProjectVariants;
            var languageVariants = selectedProject.LanguageVariants;
            var allPages         = selectedProject.Pages.OfCurrentLanguage; //does not work. must find alternetive

            if (!IsPostBack)
            {
                foreach (var prjVariant in projectVariants)
                {
                    //populate variant in a drop down list
                    ListItem tmpPrjVariant = new ListItem(prjVariant.Name, prjVariant.Name);
                    CheckBoxPrjVariant.Items.Add(tmpPrjVariant);
                }

                foreach (var langVariant in languageVariants)
                {
                    //populate variant in a drop down list
                    ListItem tmpLangVariant = new ListItem(langVariant.Name, langVariant.Name);
                    CheckBoxLangVariant.Items.Add(tmpLangVariant);
                }

                TextBox2.Text = "pages to publish: " + allPages.Count().ToString();
            }

            /**/
            if (IsPostBack)
            {
                disableBtn.Start(SubmitButton);


                //enableBtn.Start(SubmitButton);

                //Button1.Visible = false;
                oConsole.Text = string.Empty;

                //var allContentClass = session.;

                //var pageSearch = selectedProject.Pages.CreateSearch();
                //pageSearch.Category = selectedProject.Pages.;
                //pageSearch.ContentClass = selectedProject.ContentClasses.GetByName("New content class");

                /*
                 * var allPages = pageSearch.Execute();
                 */

                //startFullPublish.Start(obj);


                //SubmitButton.Enabled = true;

                /*
                 * if(Methods.DebugMode > 0)
                 * {
                 *  Debug1.Text = Methods.SessionVariables(dicSession) + Methods.viewDebug;
                 *  Debug1.Visible = true;
                 * }
                 */
                //oConsoleCount.Start(oConsole);

                ThreadStart fullPublish      = new ThreadStart(fullPublishCall);
                Thread      startFullPublish = new Thread(fullPublish);

                //startFullPublish.Start();

                var allPagess = selectedProject.Pages.OfCurrentLanguage; //does not work. must find alternetive


                foreach (var currPage in allPagess)
                {
                    oConsole.Text += "publishing Page ID: " + currPage.Id.ToString() + "\n";

                    IPagePublishJob prop = currPage.CreatePublishJob();
                    prop.IsPublishingAllFollowingPages = false;
                    prop.IsPublishingRelatedPages      = false;
                    prop.LanguageVariants = languageVariants;
                    currPage.CreatePublishJob();
                    currPage.Commit();
                }
            }