예제 #1
0
        protected void genKMLFunction(object sender, EventArgs e)
        {
            try
            {
                //Generate the KML from the connection
                ImageButton  sendBtn    = (ImageButton)sender;
                String       serverPath = "http://" + Request.ServerVariables["SERVER_NAME"] + ":" + Request.ServerVariables["SERVER_PORT"];
                string       args       = sendBtn.CommandArgument.ToString();
                KMLGenerator kml        = new KMLGenerator(ConnInfo.getConnInfo(Convert.ToInt32(args)).getConnectionName(), serverPath);


                //Generate the KML string based on the connection id
                String     kmlString = kml.generateKML(int.Parse(args));
                Connection conn      = new Connection(int.Parse(args));
                conn.populateFields();

                //Write the KML string to a downloadable file
                Response.ClearHeaders();
                Response.ClearContent();
                Response.ContentType = "application/vnd.google-earth.kml+xml kml";
                Response.AddHeader("Content-Disposition", "attachment; filename=\"" + (conn.getConnInfo()).getConnectionName() + ".kml");
                Response.Write(kmlString);
                Response.End();
                return;
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler err = new ErrorHandler(ex.errorText, errorPanel1);
                err.displayError();
                return;
            }

            //Response.Redirect("Main.aspx", true);
        }
예제 #2
0
 /// <summary>
 /// Populate fields uses the connID passed into the constructor
 /// and retrieves all of the information about that specific connection
 /// from the database. It will then set all of the classes variables
 /// based on this information.
 /// </summary>
 public void populateFields()
 {
     try
     {
         this.connInfo    = ConnInfo.getConnInfo(this.connID);
         this.overlays    = Overlay.getOverlays(this.connID);
         this.description = Description.getDescription(this.connID);
         this.mapping     = Mapping.getMapping(this.connID);
         this.icons       = Icon.getIcons(this.connID);
     }
     catch (ODBC2KMLException e) //Add whatever exceptions are needed and error handling code
     {
         throw e;
     }
 }
예제 #3
0
        protected void executeQuery(object sender, EventArgs e)
        {
            //try
            //{
            Database  db;
            DataTable dt;
            Label     title = new Label();

            if (connectionSelector.SelectedItem.Text == "local")
            {
                try
                {
                    db = new Database();

                    dt = db.executeQueryLocal(queryString.Text);
                }
                catch (ODBC2KMLException ex)
                {
                    ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                    eh.displayError();
                    return;
                }
            }
            else
            {
                ConnInfo info = new ConnInfo();

                try
                {
                    db = new Database();

                    string query = "SELECT * FROM Connection WHERE ID=" + connectionSelector.SelectedItem.Value;
                    dt = db.executeQueryLocal(query);
                    if (dt.HasErrors)
                    {
                        throw new ODBC2KMLException("Unknown Database error");
                    }
                }
                catch (ODBC2KMLException ex)
                {
                    ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                    eh.displayError();
                    return;
                }

                try
                {
                    info = ConnInfo.getConnInfo(int.Parse(connectionSelector.SelectedItem.Value));
                }
                catch (ODBC2KMLException ex)
                {
                    ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                    eh.displayError();
                    return;
                }

                db.setConnInfo(info);
                try
                {
                    dt = db.executeQueryRemote(queryString.Text);
                }
                catch (ODBC2KMLException ex)
                {
                    ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                    eh.displayError();
                    return;
                }
            }


            resultsPanel.Visible = true;

            resultsPanel.Controls.Add(new LiteralControl("<span class=\"connectionStyle\">&nbsp;Database Query Results</span>"));
            resultsPanel.Controls.Add(new LiteralControl("<div class=\"mainBoxP\">"));

            resultsPanel.Controls.Add(new LiteralControl("<table cellpadding=\"5\" cellspacing=\"0\" class=\"mainBox2\">"));

            resultsPanel.Controls.Add(new LiteralControl("<tr><td>"));
            resultsPanel.Controls.Add(new LiteralControl("<div class=\"omainBox4\">"));
            resultsPanel.Controls.Add(new LiteralControl("<table class=\"omainBox5\" cellspacing=\"0\" cellpadding=\"0\">"));

            resultsPanel.Controls.Add(new LiteralControl("<tr>"));
            foreach (DataColumn dc in dt.Columns)
            {
                resultsPanel.Controls.Add(new LiteralControl("<td><b>" + dc.ColumnName + "<br/></b></td>"));
            }
            resultsPanel.Controls.Add(new LiteralControl("</tr><tr><td><br/></td></tr>"));

            foreach (DataRow dr in dt.Rows)
            {
                resultsPanel.Controls.Add(new LiteralControl("<tr>"));
                foreach (Object data in dr.ItemArray)
                {
                    resultsPanel.Controls.Add(new LiteralControl("<td>" + data.ToString() + "</td>"));
                }
                resultsPanel.Controls.Add(new LiteralControl("</tr>"));
            }
            resultsPanel.Controls.Add(new LiteralControl("</table>"));
            resultsPanel.Controls.Add(new LiteralControl("<div align=\"right\" style=\"padding-top: 20px;\">"));
            resultsPanel.Controls.Add(new LiteralControl("<input type=\"submit\" ID=\"hideResults\" value=\"Hide Results\" class=\"button\" />"));
            resultsPanel.Controls.Add(new LiteralControl("</div>"));
            resultsPanel.Controls.Add(new LiteralControl("</td></tr>"));
            resultsPanel.Controls.Add(new LiteralControl("</div>"));
            resultsPanel.Controls.Add(new LiteralControl("</span>"));

            ModalPopupExtender6.Show();
            //}

            /*catch(Exception exception)
             * {
             *  errorPanel1.Visible = true;
             *  errorPanel1.Controls.Add(new LiteralControl("<div style=\"color: black\"><p>"+exception.Message+"</p></div>"));
             *  errorPanel1.Controls.Add(new LiteralControl("<script type=\"text/javascript\">$(\"#errorPanel1\").dialog('open')</script>"));
             * }*/
        }