using System;

using OpenNETCF.Web.UI;

using OpenNETCF.Web.Html;

 

namespace SampleSite

{

    public class Default : Page

    {

        private const string TEMP_STORAGE_FOLDER = "temp";

        private const string TEMP_FILE_NAME = "screenshot.png";

 

        protected override void Page_Load(object sender, EventArgs e)

        {

            int et = Environment.TickCount;

 

            // create the document

            Document doc = new Document();

 

            // add a header to the document

            doc.Head = new DocumentHead("OpenNETCF Padarn Web Server", new StyleInfo("css/SampleSite.css"));

 

            #region --- header divs ---

            Utility.AddPadarnHeaderToDocument(doc, false, "Default");

 

            //  <div id="congrats"><b>Congratulations</b>, Padarn is installed correctly.</div>

            //  <br>

            Div headerTextDiv = new Div("congrats");

            headerTextDiv.Elements.Add(new FormattedText("Congratulations", TextFormat.Bold));

            headerTextDiv.Elements.Add(new RawText(", Padarn is installed correctly."));

            if (Request.IsSecureConnection)

            {

                headerTextDiv.Elements.Add(new Paragraph("This is a secure page"));

            }

            doc.Body.Elements.Add(headerTextDiv);

            doc.Body.Elements.Add(Generator.LineBreak);

            #endregion

 

            #region --- other site links ---

            Div menuContainer = new Div();

            menuContainer.ClassName = "centeredContainer";

           

            Div menuItemContainer = new Div();

            menuItemContainer.ClassName = "siteMenu";

            menuItemContainer.Elements.Add(new Heading(new RawText("Please choose from one of the following sample sites:"), HeadingSize.H3));

 

            Paragraph paragraph = new Paragraph();

            paragraph.Elements.Add(new Hyperlink("System Info", "SystemInfo.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates retrieving system state information."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Server screen shot", "ScreenGrab.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates displaying real-time screen capture."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Server Available Services", "ServiceList.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates controlling services remotely via the browser."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Beer Database", "DataQuery.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates querying a SQL Server Compact Edition database."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Camera Demo", "CameraDemo.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates controlling either a remote Pan-Tilt-Zoom (PTZ) Camera or a fixed camera with dynamic content generation."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Media Player Demo", "WMPHost.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates embedding media hosted on the Padarn server into a page."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Browser Detect Demo", "BrowserDetect.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates detecting the connected client browser type and its capabilities."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Log File Viewer", "LogViewer.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates displaying the logged information for the site that has been stored in the device."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("Device Time Demo", "DeviceTime.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates using AJAX, client-side scripting, HTTP POST, server-device interaction and data upload by showing and allowing changes to the Padarn server clock."));

            paragraph.Elements.Add(Generator.LineBreak);

            paragraph.Elements.Add(new Hyperlink("App Execute Demo", "Execute.aspx"));

            paragraph.Elements.Add(new RawText(": Demonstrates controlling device-side processes and passing data from client browser to the device using HTTP POST"));

 

            menuItemContainer.Elements.Add(paragraph);

            menuContainer.Elements.Add(menuItemContainer);

            doc.Body.Elements.Add(menuContainer);

            #endregion

 

            #region --- about div ---

            Div aboutTextDiv = new Div("about");

            // you can inject raw HTML too

            Paragraph about = new Paragraph(

                "<b>Padarn</b> is an ASP.NET Web Server from <a href=\"http://www.opennetcf.com\">OpenNETCF Consulting</a> "

                + "that runs on Microsoft Windows CE 5.0 and 6.0 devices.<br>For more information about Padarn visit "

                + "<a href=\"http://www.opennetcf.com/padarn\">www.opennetcf.com/padarn</a> or email us at "

                + "<a href=\"mailto:padarn@opennetcf.com\">padarn@opennetcf.com</a>");

 

            aboutTextDiv.Elements.Add(about);

            doc.Body.Elements.Add(aboutTextDiv);

            doc.Body.Elements.Add(Generator.LineBreak);

            #endregion

 

            #region --- more info div ---

            //    <div>Learn more about the meaning of the codename <a href="http://en.wikipedia.org/wiki/Llyn_Padarn">Padarn</a></div>

            Div infoDiv = new Div();

            infoDiv.Elements.Add(new RawText("Click here to learn more about the meaning of the name "));

            infoDiv.Elements.Add(new Hyperlink("Padarn", "http://en.wikipedia.org/wiki/Llyn_Padarn"));

            doc.Body.Elements.Add(infoDiv);

            #endregion

 

            Utility.AddETFooterToDocument(doc, et);

 

            // send the document html to the Response object

            Response.Write(doc.OuterHtml);

 

            // flush

            Response.Flush();

        }

    }

}