示例#1
0
        protected void confirmEdit(object sender, EventArgs e)
        {
            ImageButton sendBtn = (ImageButton)sender;
            String args = sendBtn.CommandArgument.ToString();

            Database dbCheck = new Database();
            DataTable dtCheck;

            try
            {
                dtCheck = dbCheck.executeQueryLocal("SELECT name,dbName,userName,password,port,address,type,protocol,serviceName,SID FROM Connection WHERE ID=\'" + args + "\'");
            }
            catch (ODBC2KMLException)
            {
                ErrorHandler eh = new ErrorHandler("There was an error retreiving connection information for connection " + args + ".", errorPanel1);
                eh.displayError();
                return;
            }

            foreach (DataRow dr in dtCheck.Rows)
            {
                editConnName.Text = dr[0].ToString();
                editConnDBName.Text = dr[1].ToString();
                editConnUser.Text = dr[2].ToString();
                editConnPass.Attributes.Add("value", dr[3].ToString());
                editConnDBPort.Text = dr[4].ToString();
                editConnDBAddr.Text = dr[5].ToString();
                if (Convert.ToInt32(dr[6].ToString()) == ConnInfo.MYSQL)
                {
                    editConnDBType.SelectedValue = "MySQL";
                }
                else if (Convert.ToInt32(dr[6].ToString()) == ConnInfo.MSSQL)
                {
                    editConnDBType.SelectedValue = "MSSQL";
                }
                else
                {
                    editConnDBType.SelectedValue = "Oracle";
                }
                editConnDBType.Text = dr[6].ToString();
                editOracleProtocol.Text = dr[7].ToString();
                editOracleService.Text = dr[8].ToString();
                editOracleSID.Text = dr[9].ToString();
            }
            saveAndEditConn.CommandArgument = args;
            saveEditConn.CommandArgument = args;

            this.editConnModalPopUp.Show();
        }
示例#2
0
        protected void deleteConnFunction(object sender, EventArgs e)
        {
            //Delete the connection
            Button sendBtn = (Button)sender;
            String args = sendBtn.CommandArgument.ToString();
            Database db = new Database();

            try
            {
                db.executeQueryLocal("DELETE FROM CONNECTION WHERE ID=" + args);
            }
            catch (ODBC2KMLException)
            {
                ErrorHandler eh = new ErrorHandler("There was an error deleting the connection", errorPanel1);
                eh.displayError();
                return;
            }

            this.deletePopupExtender.Hide();
            Response.Redirect("Main.aspx");
        }
示例#3
0
        protected void addOverlayColorToConn(object sender, EventArgs e)
        {
            Button sendBtn = (Button)sender;
            String args = HiddenValue.Value.ToString();
            args = args.Substring(1);

            Overlay ovr = new Overlay();
            ovr.setColor(args);

            bool exists = false;
            foreach (Overlay over in conn.overlays)
            {
                if (over.getColor().Equals(ovr.getColor()))
                {
                    exists = true;
                    break;
                }
            }
            if (ovr.getColor().Equals("-111111"))
            {
                this.AddOverlayPopupExtender.Hide();
                ErrorHandler eh = new ErrorHandler("Overlay color must be selected!", errorPanel1, "AddOverlayPopupExtender");
                eh.displayError();
            }
            else if (exists)
            {
                this.AddOverlayPopupExtender.Hide();
                ErrorHandler eh = new ErrorHandler("Overlay color already exists! Please choose another.", errorPanel1, "AddOverlayPopupExtender");
                eh.displayError();

            }
            else
            {
                try
                {
                    ovr.setId(curOverlayCount.ToString());
                    curOverlayCount -= 1;
                    overlayListAvailableToRemove.Add(ovr);
                    //overlayList.Add(new Overlay(ovr));
                    conn.overlays.Add(new Overlay(ovr));
                    this.fillOverlayPopupRemove();
                    this.genOverlayConditionTable(sender, e);
                }
                catch (ODBC2KMLException ex)
                {
                    ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                    eh.displayError();
                    return;
                }
            }
            sessionSave();
        }
示例#4
0
        protected void addConditionToOverlay(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            string args = btn.CommandArgument.ToString();
            TextBox lowerBound = (TextBox)Page.FindControl("addOverlayLowerBound" + args);
            DropDownList lowerOperator = (DropDownList)Page.FindControl("addOverlayLowerOperator" + args);
            DropDownList tableName = (DropDownList)Page.FindControl("addOverlayTable" + args);
            DropDownList fieldName = (DropDownList)Page.FindControl("addOverlayField" + args);
            DropDownList upperOperator = (DropDownList)Page.FindControl("addOverlayUpperOperator" + args);
            TextBox upperBound = (TextBox)Page.FindControl("addOverlayUpperBound" + args);
            UpdatePanel modifyIconConditionInsidePopupPanel = (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + args);
            string overlayId = args;

            Condition condition = new Condition();
            condition.setId(tempId--);
            condition.setLowerBound(lowerBound.Text.ToString());
            condition.setUpperBound(upperBound.Text.ToString());
            condition.setTableName(tableName.Text.ToString());
            condition.setFieldName(fieldName.Text.ToString());
            if (lowerOperator != null)
                condition.setLowerOperator(lowerOperator.SelectedItem.Text.ToString());
            if (upperOperator != null)
                condition.setUpperOperator(upperOperator.SelectedItem.Text.ToString());

            string conditionErrors = condition.getErrorText();
            if (conditionErrors != "")
            {
                ErrorHandler eh = new ErrorHandler(conditionErrors, (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + overlayId), "MPE_OVERLAY_" + overlayId);
                eh.displayError();
                lowerBound.Text = condition.getLowerBound();
                lowerOperator.SelectedValue = condition.getLowerOperator();
                tableName.SelectedValue = condition.getTableName();
                fieldName.SelectedValue = condition.getFieldName();
                upperOperator.SelectedValue = condition.getUpperOperator();
                upperBound.Text = condition.getUpperBound();
                return;
            }

            //Verify that the bounds are of the same datatype as the column value
            if (conditionErrors == "")
            {
                //Create database based on the connInfo
                Database testDB = new Database(conn.connInfo);
                DataTable testTable = null;

                try
                {
                    //Create the datatable to parse through
                    testTable = testDB.executeQueryRemote("SELECT " + condition.getFieldName() + " FROM " + condition.getTableName());
                }
                catch (ODBC2KMLException)
                {
                    ErrorHandler eh = new ErrorHandler("There was an error connecting to the remote database to verify overlay condition information", errorPanel1);
                    eh.displayError();
                    return;
                }

                //Counter to break out of the loop, this way only a subset of the data is tested
                int counter = 0;

                //Check the bounds against the database values
                foreach (DataRow row in testTable.Rows)
                {

                    //If both conditions....
                    if (condition.getLowerBound() != "" && condition.getUpperBound() != "")
                    {
                        //Need variables for Try parse
                        Double lower;
                        Double upper;

                        //See if both conditions evaluate to doubles
                        if (Double.TryParse(condition.getLowerBound(), out lower) && Double.TryParse(condition.getUpperBound(), out upper))
                        {
                            Double value;
                            //If value is not a double, throw an error
                            if (!Double.TryParse(row[condition.getFieldName()].ToString(), out value) && row[condition.getFieldName()] != null && row[condition.getFieldName()].ToString() != "")
                            {
                                conditionErrors = "The datatype of the entered bounds do not match the datatype of the database values.";
                                ErrorHandler eh = new ErrorHandler(conditionErrors, (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + overlayId), "MPE_OVERLAY_" + overlayId);
                                lowerBound.Text = condition.getLowerBound();
                                lowerOperator.SelectedValue = condition.getLowerOperator();
                                tableName.SelectedValue = condition.getTableName();
                                fieldName.SelectedValue = condition.getFieldName();
                                upperOperator.SelectedValue = condition.getUpperOperator();
                                upperBound.Text = condition.getUpperBound();
                                eh.displayError();
                                return;
                            }

                            //test five elements
                            if (++counter > 5)
                                break;
                        }
                        else //They evaluate to strings
                        {
                            Double value;
                            //If value is a double, throw an error
                            if (Double.TryParse(row[condition.getFieldName()].ToString(), out value) && row[condition.getFieldName()] != null && row[condition.getFieldName()].ToString() != "")
                            {
                                conditionErrors = "The datatype of the entered bounds do not match the datatype of the database values.";
                                ErrorHandler eh = new ErrorHandler(conditionErrors, (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + overlayId), "MPE_OVERLAY_" + overlayId);
                                lowerBound.Text = condition.getLowerBound();
                                lowerOperator.SelectedValue = condition.getLowerOperator();
                                tableName.SelectedValue = condition.getTableName();
                                fieldName.SelectedValue = condition.getFieldName();
                                upperOperator.SelectedValue = condition.getUpperOperator();
                                upperBound.Text = condition.getUpperBound();
                                eh.displayError();
                                return;
                            }
                            else //Decrement counter, this row wasn't a valid row and should be ignored

                            //test five elements
                            if (++counter > 5)
                                break;
                        }
                    }
                    else if (condition.getLowerBound() != "")
                    {
                        //Need variables for Try parse
                        Double lower;

                        //See if the lower conditions evaluate to doubles
                        if (Double.TryParse(condition.getLowerBound(), out lower))
                        {
                            Double value;
                            //If value is not a double, throw an error
                            if (!Double.TryParse(row[condition.getFieldName()].ToString(), out value) && row[condition.getFieldName()] != null && row[condition.getFieldName()].ToString() != "")
                            {
                                conditionErrors = "The datatype of the entered bounds do not match the datatype of the database values.";
                                ErrorHandler eh = new ErrorHandler(conditionErrors, (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + overlayId), "MPE_OVERLAY_" + overlayId);
                                lowerBound.Text = condition.getLowerBound();
                                lowerOperator.SelectedValue = condition.getLowerOperator();
                                tableName.SelectedValue = condition.getTableName();
                                fieldName.SelectedValue = condition.getFieldName();
                                upperOperator.SelectedValue = condition.getUpperOperator();
                                upperBound.Text = condition.getUpperBound();
                                eh.displayError();
                                return;
                            }

                            //test five elements
                            if (++counter > 5)
                                break;
                        }
                        else //They evaluate to strings
                        {
                            Double value;
                            //If value is a double, throw an error
                            if (Double.TryParse(row[condition.getFieldName()].ToString(), out value) && row[condition.getFieldName()] != null && row[condition.getFieldName()].ToString() != "")
                            {
                                conditionErrors = "The datatype of the entered bounds do not match the datatype of the database values.";
                                ErrorHandler eh = new ErrorHandler(conditionErrors, (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + overlayId), "MPE_OVERLAY_" + overlayId);
                                lowerBound.Text = condition.getLowerBound();
                                lowerOperator.SelectedValue = condition.getLowerOperator();
                                tableName.SelectedValue = condition.getTableName();
                                fieldName.SelectedValue = condition.getFieldName();
                                upperOperator.SelectedValue = condition.getUpperOperator();
                                upperBound.Text = condition.getUpperBound();
                                eh.displayError();
                                return;
                            }

                            //test five elements
                            if (++counter > 5)
                                break;
                        }
                    }
                    else
                    {
                        //Need variables for Try parse
                        Double upper;

                        //See if the lower conditions evaluate to doubles
                        if (Double.TryParse(condition.getUpperBound(), out upper))
                        {
                            Double value;
                            //If value is not a double, throw an error
                            if (!Double.TryParse(row[condition.getFieldName()].ToString(), out value) && row[condition.getFieldName()] != null && row[condition.getFieldName()].ToString() != "")
                            {
                                conditionErrors = "The datatype of the entered bounds do not match the datatype of the database values.";
                                ErrorHandler eh = new ErrorHandler(conditionErrors, (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + overlayId), "MPE_OVERLAY_" + overlayId);
                                lowerBound.Text = condition.getLowerBound();
                                lowerOperator.SelectedValue = condition.getLowerOperator();
                                tableName.SelectedValue = condition.getTableName();
                                fieldName.SelectedValue = condition.getFieldName();
                                upperOperator.SelectedValue = condition.getUpperOperator();
                                upperBound.Text = condition.getUpperBound();
                                eh.displayError();
                                return;
                            }

                            //test five elements
                            if (++counter > 5)
                                break;
                        }
                        else //They evaluate to strings
                        {
                            Double value;
                            //If value is a double, throw an error
                            if (Double.TryParse(row[condition.getFieldName()].ToString(), out value) && row[condition.getFieldName()] != null && row[condition.getFieldName()].ToString() != "")
                            {
                                conditionErrors = "The datatype of the entered bounds do not match the datatype of the database values.";
                                ErrorHandler eh = new ErrorHandler(conditionErrors, (UpdatePanel)Page.FindControl("modifyOverlayConditionInsidePopupPanel" + overlayId), "MPE_OVERLAY_" + overlayId);
                                lowerBound.Text = condition.getLowerBound();
                                lowerOperator.SelectedValue = condition.getLowerOperator();
                                tableName.SelectedValue = condition.getTableName();
                                fieldName.SelectedValue = condition.getFieldName();
                                upperOperator.SelectedValue = condition.getUpperOperator();
                                upperBound.Text = condition.getUpperBound();
                                eh.displayError();
                                return;
                            }

                            //test five elements
                            if (++counter > 5)
                                break;
                        }
                    }
                }
            }

            foreach (Overlay overlay in conn.overlays)
            {
                if (overlay.getId() == overlayId)
                {
                    overlay.setConditions(condition);
                }
            }
            try
            {
                genOverlayConditionTable(sender, e);
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
            sessionSave();
        }
示例#5
0
 /// <summary>
 /// used for uploading icons from remote sources
 /// if fetch is checked this function downloads the linked icon and saves its info to the db and saves the icon
 /// if fetch is not checked it just saves the linked icon's info to the db
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void URLsubmitClick(object sender, EventArgs e)
 {
     String pathToAdd = "";
     String URL = URLtextBox.Text.Trim();
     bool fetch = fetchCheckBox.Checked;
     try
     {
         pathToAdd = Utilities.URLsubmitClick(fetch, URL, fileSaveLoc, relativeFileSaveLoc);
     }
     catch (ODBC2KMLException ex)
     {
         ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1, this.ModalPopupExtender3.ID);
         eh.displayError();
         return;
     }
     fetchCheckBox.Checked = false;
     URLtextBox.Text = "";
     if (!pathToAdd.Equals(""))
     {
         try
         {
             addSingleIconToLib(pathToAdd);
         }
         catch (ODBC2KMLException)
         {
             ErrorHandler eh = new ErrorHandler("There was an error adding the icon to the library", errorPanel1);
             eh.displayError();
         }
     }
     sessionSave();
 }
示例#6
0
        protected void updateConnection(object sender, EventArgs e)
        {
            invalidConnInfo.Visible = false;
            unableToConnect.Visible = false;
            connectionEstablished.Visible = false;

            conn.connInfo.connectionName = odbcName.Text;
            conn.connInfo.serverAddress = odbcAdd.Text;
            conn.connInfo.portNumber = odbcPN.Text;
            conn.connInfo.databaseName = odbcDName.Text;
            conn.connInfo.userName = odbcUser.Text;
            conn.connInfo.password = odbcPass.Text;
            conn.connInfo.databaseType = odbcDBType.SelectedIndex;
            conn.connInfo.oracleProtocol = odbcProtocol.Text;
            conn.connInfo.oracleServiceName = odbcSName.Text;
            conn.connInfo.oracleSID = odbcSID.Text;

            String connectionString = "";

            try
            {
                //If the connection is invalid, return false, else purge invalid conditions and return true
                if (!conn.validateConnnection(descriptionBox))
                {
                    ErrorHandler eh;

                    if (conn.connInfo.databaseType == ConnInfo.ORACLE)
                    {
                        eh = new ErrorHandler("Connection information is invalid. Please verify that all fields are correct and that the oracle specific fields have a value.", errorPanel1);
                    }
                    else
                    {
                        eh = new ErrorHandler("Connection information is invalid. Please verify that all fields are correct.", errorPanel1);
                    }

                    eh.displayError();
                    return;
                }

                if (conn.connInfo.getDatabaseType() == ConnInfo.MSSQL)
                {
                    connectionString = "Data Source=" + conn.connInfo.getServerAddress() + ";Initial Catalog=" + conn.connInfo.getDatabaseName() + ";Persist Security Info=True;User Id=" + conn.connInfo.getUserName() + ";Password="******"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA != 'information_schema' AND TABLE_NAME != 'sysdiagrams'";
                }

                else if (conn.connInfo.getDatabaseType() == ConnInfo.MYSQL)
                {
                    String providerName = "";
                    connectionString = "server=" + conn.connInfo.getServerAddress() + ";User Id=" + conn.connInfo.getUserName() + ";password="******";Persist Security Info=True;database=" + conn.connInfo.getDatabaseName();
                    providerName = "MySql.Data.MySqlClient";
                    SQLTables_Mapping.ConnectionString = connectionString;
                    SQLTables_Mapping.ProviderName = providerName;
                    SQLTables_Mapping.SelectCommand = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA != 'information_schema' && TABLE_SCHEMA != 'mysql'";
                }

                else if (conn.connInfo.getDatabaseType() == ConnInfo.ORACLE)
                {
                    String providerName = "";
                    connectionString = "Data Source=" + conn.connInfo.getServerAddress() + ";Persist Security Info=True;User ID=" + conn.connInfo.getUserName() + ";Password="******";Unicode=True";
                    providerName = "System.Data.OracleClient";
                    oracleTables_Mapping.ConnectionString = connectionString;
                    oracleTables_Mapping.ProviderName = providerName;
                    oracleTables_Mapping.SelectCommand = "select TABLE_NAME from user_tables";
                }

                else
                {
                    //Display Error Handler, something crashed....
                    ErrorHandler eh = new ErrorHandler("An unexpected error occured, please verify your connection and connection information and try again.", errorPanel1);
                    eh.displayError();
                    return;
                }

                updateTables(conn.connInfo.getDatabaseType());

                updateSqlDataSources();
                genIconConditionTable(sender, e);
                genOverlayConditionTable(sender, e);
                displayCurrentMapping();

                sessionSave();
               // genIconConditionTable(sender, e);
               // genOverlayConditionTable(sender, e);
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
            catch (Exception)
            {
                ErrorHandler eh = new ErrorHandler("An unexpected error occured, please check your database connection.", errorPanel1);
                eh.displayError();
                return;
            }
        }
示例#7
0
        protected void submitModifyIconConditionPopup_Click(object sender, EventArgs e)
        {
            iconList = new ArrayList();
            foreach (Icon icon in conn.icons)  // conn.icons is the icons/conditions that were in the connection when we generated this table
            {
                iconList.Add(new Icon(icon));
            }

            try
            {
                genIconConditionTable(sender, e);
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
            sessionSave();
        }
示例#8
0
        protected void saveLatLong_Click(object sender, EventArgs e)
        {
            string tableName = GridViewTables.SelectedValue.ToString();

            //if the table hasn't bee mapped yet or there is a placemark field mapping and it's table matches this table
            if (conn.mapping.tableName.Equals(tableName) || ((conn.mapping.placemarkFieldName.Equals("") || conn.mapping.placemarkFieldName == null)) || conn.mapping.tableName.Equals("") || conn.mapping.tableName == null)
            {
                //if lat/lon mapped separately
                if (LLSepPanel.Visible == true)
                {
                    //if the lon field equals the lat field, report error
                    if (latDD.SelectedValue.ToString().Equals(longDD.SelectedValue.ToString()))
                    {
                        ErrorHandler eh = new ErrorHandler("Latitude and longitude cannot be the same column in this case. If they are, choose the \"Together\" button.", MappingUpdatePanel);
                        eh.displayError();

                    }
                    else
                    {
                        //else, set the current mapping to the selected values
                        //conn.mapping.connID = conn.connID;
                        conn.mapping.tableName = tableName;
                        conn.mapping.latFieldName = latDD.SelectedValue.ToString();
                        conn.mapping.longFieldName = longDD.SelectedValue.ToString();
                        conn.mapping.format = 1;

                        //update the mapping box
                        displayCurrentMapping();

                    }
                }
                //else if they are mapped together
                else if (LLTogetherPanel.Visible == true)
                {
                    //conn.mapping.connID = conn.connID;
                    //set conn.mapping latFieldName and longFieldName to the selected value
                    conn.mapping.latFieldName = conn.mapping.longFieldName = llDD.SelectedValue.ToString();
                    conn.mapping.tableName = tableName;

                    //if the format is lon first, set the format to 3, else set it to 2
                    if (LongLatCheck.Selected)
                    {
                        conn.mapping.format = 3;
                    }
                    else
                    {
                        conn.mapping.format = 2;
                    }

                    //update the current mapping box
                    displayCurrentMapping();

                }
            }
            else
            {
                ErrorHandler eh = new ErrorHandler("Lat/long mapping must use the same table as placemark. If both are mapped, remove the current mapping and try again.", errorPanel1);
                eh.displayError();
            }
            sessionSave();
        }
示例#9
0
 /// <summary>
 /// used for uploading icons from remote sources
 /// if fetch is checked this function downloads the linked icon and saves its info to the db and saves the icon
 /// if fetch is not checked it just saves the linked icon's info to the db
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void URLsubmitClick(object sender, EventArgs e)
 {
     String URL = URLtextBox.Text.Trim();
     bool fetch = fetchCheckBox.Checked;
     try
     {
         Utilities.URLsubmitClick(fetch, URL, fileSaveLoc, relativeFileSaveLoc);
     }
     catch (ODBC2KMLException ex)
     {
         ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
         eh.displayError();
         return;
     }
     fetchCheckBox.Checked = false;
     URLtextBox.Text = "";
 }
示例#10
0
 /// <summary>
 /// used for uploading icons from local computer
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void uploadClick(object sender, EventArgs e)
 {
     try
     {
         Utilities.uploadClick(fileSaveLoc, relativeFileSaveLoc, fileUpEx);
     }
     catch (ODBC2KMLException ex)
     {
         ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
         eh.displayError();
         return;
     }
     fileUpEx = new FileUpload(); // this is to clear the upload box incase someone wants to upload another file
 }
示例#11
0
        protected void updateConnection(object sender, CommandEventArgs e)
        {
            Button sendBtn = (Button)sender;
            String args = sendBtn.CommandArgument.ToString();

            ConnInfo tempConnInfo = new ConnInfo();

            tempConnInfo.setConnectionName(editConnName.Text);
            tempConnInfo.setDatabaseName(editConnDBName.Text);
            tempConnInfo.setServerAddress(editConnDBAddr.Text);
            tempConnInfo.setPortNumber(editConnDBPort.Text);
            tempConnInfo.setUserName(editConnUser.Text);
            tempConnInfo.setPassword(editConnPass.Text);
            tempConnInfo.setDatabaseType((editConnDBType.SelectedIndex));
            tempConnInfo.setOracleProtocol(editOracleProtocol.Text);
            tempConnInfo.setOracleServiceName(editOracleService.Text);
            tempConnInfo.setOracleSID(editOracleSID.Text);

            //If the connection information is bad, report the error and cancel the function. This does NOT run against the database.
            try
            {
                if (!tempConnInfo.isValid(Convert.ToInt32(args)))
                {
                    throw new ODBC2KMLException("");  // Throw any error. The catch is generic.
                }
            }
            catch
            {
                String error = "The entered connection information is invalid. Please make sure all fields are filled and that they are in proper format.";

                if (tempConnInfo.getDatabaseType() == ConnInfo.ORACLE)
                {
                    error = "The entered connection information is invalid. Please verify that all fields have a value and the value is of proper type."
                        + " Also, make sure that Oracle SID or Oracle Service Name and Oracle Protocol have been entered.";
                }

                ErrorHandler eh = new ErrorHandler(error, errorPanel1);
                this.editConnModalPopUp.Hide();
                eh.displayError();
                return;
            }

            //Create database and test it
            Database db = new Database(tempConnInfo);

            //See if you can reach the database. If not, error out and don't save.
            try
            {
                if (tempConnInfo.getDatabaseType() == ConnInfo.MSSQL)
                {
                    String query = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA != 'information_schema' AND TABLE_NAME != 'sysdiagrams'";
                    db.executeQueryRemote(query);
                }

                else if (tempConnInfo.getDatabaseType() == ConnInfo.MYSQL)
                {
                    String query = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA != 'information_schema' && TABLE_SCHEMA != 'mysql'";
                    db.executeQueryRemote(query);
                }

                else if (tempConnInfo.getDatabaseType() == ConnInfo.ORACLE)
                {
                    String query = "select TABLE_NAME from user_tables";
                    db.executeQueryRemote(query);
                }
            }
            catch
            {
                ErrorHandler eh = new ErrorHandler("The database entered could not be connected to. Please verify the information is correct.", errorPanel1);
                this.editConnModalPopUp.Hide();
                eh.displayError();
                return;
            }

            db.executeQueryLocal("UPDATE Connection SET name='" + tempConnInfo.getConnectionName()
                + "', dbName='" + tempConnInfo.getDatabaseName() + "', userName='******', password='******', port='" + tempConnInfo.getPortNumber()
                + "', address='" + tempConnInfo.getServerAddress() + "', type='" + tempConnInfo.getDatabaseType()
                + "', protocol='" + tempConnInfo.getOracleProtocol() + "', serviceName='" + tempConnInfo.getOracleServiceName()
                + "', SID='" + tempConnInfo.getOracleSID() + "' WHERE (ID='" + args + "')");

            Connection conn = new Connection(Convert.ToInt16(args));

            try
            {
                conn.populateFields();
                //Force the connection into a safe state, if it is not
                if (!conn.safeStateConnection())
                {
                    String error = "Invalid connection information. Please verify all of your fields are filled in correctly."
                    + "If you are using an oracle connection, please make sure you filled out the oracle specific information.";
                    ErrorHandler eh = new ErrorHandler(error, errorPanel1);
                    this.editConnModalPopUp.Hide();
                    eh.displayError();
                    return;
                }
            }
            catch (ODBC2KMLException err)
            {
                ErrorHandler eh = new ErrorHandler(err.errorText, errorPanel1);
                this.editConnModalPopUp.Hide();
                eh.displayError();
                return;
            }

            if (e.CommandName.Equals("saveConn"))
            {
                this.editConnModalPopUp.Hide();
                Response.Redirect("Main.aspx");
            }
            else
            {
                this.editConnModalPopUp.Hide();
                Response.Redirect("ConnDetails.aspx?ConnID=" + ((Button)sender).CommandArgument.ToString() + "&locked=false");
            }
        }
示例#12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            fileSaveLoc = Server.MapPath("/icons/");
            //Get the DB stuff from here
            Database db = new Database();
            DataTable dt;

            try
            {
                dt = db.executeQueryLocal("SELECT id,name FROM CONNECTION");
            }
            catch (ODBC2KMLException)
            {
                ErrorHandler eh = new ErrorHandler("There was an error getting the current connections", errorPanel1);
                eh.displayError();
                return;
            }

            int i = 0;
            if (dt.Rows.Count == 0)
            {
                ConnectionsAvailable.Controls.Add(new LiteralControl("<tr><td class=\"tableTD\">No connections currently exist.</td></tr>\n"));
            }
            else
            {
                foreach (DataRow dr in dt.Rows)
                {
                    string dbID = dr.ItemArray.ElementAt(0).ToString();
                    string odbcName = dr.ItemArray.ElementAt(1).ToString();

                    //Defines buttons
                    ImageButton openConn = new ImageButton();
                    openConn.CssClass = "openIcon";
                    openConn.ImageUrl = "graphics/connIcon.gif";
                    openConn.AlternateText = "Open Connection";
                    openConn.ToolTip = "Open Connection";
                    openConn.PostBackUrl = "ConnDetails.aspx?ConnID=" + dbID + "&locked=true";

                    ImageButton editConn = new ImageButton();
                    editConn.CssClass = "editIcon";
                    editConn.ImageUrl = "graphics/connIcon.gif";
                    editConn.AlternateText = "Edit Connection";
                    editConn.ToolTip = "Edit Connection";
                    editConn.Click += new ImageClickEventHandler(confirmEdit);
                    editConn.CommandArgument = dbID;

                    ImageButton deleteConn = new ImageButton();
                    deleteConn.ID = "dc" + Convert.ToString(i);
                    deleteConn.CssClass = "deleteIcon";
                    deleteConn.ImageUrl = "graphics/connIcon.gif";
                    deleteConn.AlternateText = "Delete Connection";
                    deleteConn.ToolTip = "Delete Connection";
                    deleteConn.Click += new ImageClickEventHandler(confirmDelete);
                    deleteConn.CommandArgument = dbID;
                    deleteConn.CommandArgument += "#" + odbcName;

                    ImageButton genKML = new ImageButton();
                    genKML.CssClass = "kmlIcon";
                    genKML.ImageUrl = "graphics/connIcon.gif";
                    genKML.AlternateText = "Generate KML File";
                    genKML.ToolTip = "Generate KML File";
                    genKML.Click += new ImageClickEventHandler(genKMLFunction);
                    genKML.CommandArgument = dbID;

                    //End button definition
                    if (i % 2.00 == 0)
                    {
                        ConnectionsAvailable.Controls.Add(new LiteralControl("<tr class=\"oddConn\">\n"));
                    }
                    else
                    {
                        ConnectionsAvailable.Controls.Add(new LiteralControl("<tr class=\"evenConn\">\n"));
                    }

                    ConnectionsAvailable.Controls.Add(new LiteralControl("<td>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<span id=\"Conn" + dbID + "\">" + odbcName + "</span>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<a href=\"#\" title=\"Open Connection\"></a>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</td>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<td class=\"connIcons\">\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<table>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<tr>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<td>\n"));
                    ConnectionsAvailable.Controls.Add(openConn);
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</td>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<td>\n"));
                    ConnectionsAvailable.Controls.Add(editConn);
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</td>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<td>\n"));
                    ConnectionsAvailable.Controls.Add(deleteConn);
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</td>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("<td>\n"));
                    ConnectionsAvailable.Controls.Add(genKML);
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</td>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</tr>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</table>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</td>\n"));
                    ConnectionsAvailable.Controls.Add(new LiteralControl("</tr>\n"));

                    i += 1;
                }
            }
        }
示例#13
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);
        }
示例#14
0
        protected void editAndSaveConnectionInformation(object sender, CommandEventArgs e)
        {
            Button sendBtn = (Button)sender;
            String args = sendBtn.CommandArgument.ToString();

            Database dbCheck = new Database();
            DataTable dtCheck;
            DataRow dr;

            try
            {
                dtCheck = dbCheck.executeQueryLocal("SELECT name,dbName,userName,password,port,address,type,protocol,serviceName,SID FROM Connection WHERE ID=\'" + args + "\'");
                dr = dtCheck.Rows[0];
            }
            catch (ODBC2KMLException)
            {
                ErrorHandler eh = new ErrorHandler("There was an error retreiving connection information for connection " + args + ".", errorPanel1);
                eh.displayError();
                return;
            }

            ConnInfo tempConnInfo = new ConnInfo();

            tempConnInfo.setConnectionName(editConnName.Text);
            tempConnInfo.setDatabaseName(editConnDBName.Text);
            tempConnInfo.setServerAddress(editConnDBAddr.Text);
            tempConnInfo.setPortNumber(editConnDBPort.Text);
            tempConnInfo.setUserName(editConnUser.Text);
            tempConnInfo.setPassword(editConnPass.Text);
            tempConnInfo.setDatabaseType((editConnDBType.SelectedIndex));
            tempConnInfo.setOracleProtocol(editOracleProtocol.Text);
            tempConnInfo.setOracleServiceName(editOracleService.Text);
            tempConnInfo.setOracleSID(editOracleSID.Text);

            if (editConnName.Text.Equals(dr["name"].ToString()) && editConnDBName.Text.Equals(dr["dbName"].ToString()) && editConnDBAddr.Text.Equals(dr["address"].ToString())
                && editConnDBPort.Text.Equals(dr["port"].ToString()) && editConnUser.Text.Equals(dr["userName"].ToString()) && editConnPass.Text.Equals(dr["password"].ToString())
                && editConnDBType.SelectedIndex.ToString().Equals(dr["type"].ToString()) && editOracleProtocol.Text.Equals(dr["protocol"].ToString()) && editOracleService.Text.Equals(dr["serviceName"].ToString())
                && editOracleSID.Text.Equals(dr["SID"].ToString()))
            {
                updateConnection(sender, e);

            }else{
                this.editConnModalPopUp.Hide();
                this.warningModal.Show();
                continueUpdate.CommandName = e.CommandName.ToString();
                continueUpdate.CommandArgument = args;
            }
        }
示例#15
0
        //Removes an icon assocaiated with a connection and all conditions associated with it
        protected void removeIconFromConnFunct(object sender, EventArgs e)
        {
            ImageButton sendBtn = (ImageButton)sender;
            String args = sendBtn.CommandArgument.ToString();

            Icon icn = new Icon();
            Icon iconSaved = new Icon();
            icn.setId(args);

            foreach (Icon icon in iconList)
            {
                if (icon.getId().Equals(icn.getId()))
                {
                    iconList.Remove(icon);
                    break;
                }
            }
            foreach (Icon icon in conn.icons)
            {
                if (icon.getId().Equals(icn.getId()))
                {
                    conn.icons.Remove(icon);
                    break;
                }
            }
            try
            {
                foreach (Icon icon in iconListAvailableToRemove)
                {

                    if (icon.getId().Equals(icn.getId()))
                    {
                        iconSaved.setId(icon.getId());
                        iconSaved.setLocation(icon.getLocation());
                        iconListAvailableToRemove.Remove(icon);
                        int j = 0;
                        foreach (Icon icon2 in iconListAvailableToAdd)
                        {
                            if (System.Convert.ToInt32(iconSaved.getId()) < System.Convert.ToInt32(icon2.getId()))
                            {
                                iconListAvailableToAdd.Insert(j, iconSaved);
                                break;
                            }
                            j += 1;
                            if (j == iconListAvailableToAdd.Count)
                            {
                                iconListAvailableToAdd.Add(iconSaved);
                                break;
                            }
                        }
                        this.fillIconLibraryPopup();
                        this.fillIconLibraryPopupRemove();
                        this.genIconConditionTable(sender, e);
                        break;
                    }
                }
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
            sessionSave();
        }
示例#16
0
 protected void cancelModifyOverlayConditionPopup_Click(object sender, EventArgs e)
 {
     Button btn = (Button)sender;
     string overlayId = btn.CommandArgument;
     Overlay replaceWithThisOverlay = new Overlay();
     foreach (Overlay overlay in overlayList)
     {
         if (overlay.getId() == overlayId)
         {
             replaceWithThisOverlay = overlay;
             break;
         }
     }
     foreach (Overlay overlay in conn.overlays)
     {
         if (overlay.getId() == overlayId)
             overlay.setConditions(replaceWithThisOverlay.getDeepCopyOfConditions());
     }
     try
     {
         genOverlayConditionTable(sender, e);
     }
     catch (ODBC2KMLException ex)
     {
         ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
         eh.displayError();
         return;
     }
     sessionSave();
 }
示例#17
0
        protected void removeOverlayColorFromConn(object sender, EventArgs e)
        {
            ImageButton sendBtn = (ImageButton)sender;
            String args = sendBtn.CommandArgument.ToString();

            Overlay ovr = new Overlay();
            ovr.setColor(args);

            // This should only be for the overlays in conn.overlays, not for overlayList -Micah
            /*foreach (Overlay over in overlayList)
            {
                if (over.getColor().Equals(ovr.getColor()))
                {
                    overlayList.Remove(over);
                    break;
                }
            }*/
            foreach (Overlay over in conn.overlays)
            {
                if (over.getColor().Equals(ovr.getColor()))
                {
                    conn.overlays.Remove(over);
                    break;
                }
            }
            try
            {
                foreach (Overlay over in overlayListAvailableToRemove)
                {

                    if (over.getColor().Equals(ovr.getColor()))
                    {
                        overlayListAvailableToRemove.Remove(over);
                        this.fillOverlayPopupRemove();
                        this.genOverlayConditionTable(sender, e);
                        break;
                    }
                }
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
            sessionSave();
        }
示例#18
0
 protected void deleteOverlayCondition(object sender, EventArgs e)
 {
     Button btn = (Button)sender;
     int lastSpace = btn.CommandArgument.LastIndexOf(" ");
     if (lastSpace >= 0)
     {
         string overlayId = btn.CommandArgument.Substring(0, lastSpace);
         string conditionId = btn.CommandArgument.Substring(lastSpace + 1);
         foreach (Overlay overlay in conn.overlays)
         {
             if (overlay.getId() == overlayId)
             {
                 overlay.removeConditions(conditionId);
             }
         }
     }
     try
     {
         genOverlayConditionTable(sender, e);
     }
     catch (ODBC2KMLException ex)
     {
         ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
         eh.displayError();
         return;
     }
     sessionSave();
 }
示例#19
0
        /// <summary>
        /// Method to save the currently selected field as the placemark name field. Sets the placemarkFieldName and 
        /// tableName members of conn.mapping
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void savePlacemarkMapping_click(object sender, EventArgs e)
        {
            //if the current mapping doesnt have a table, set it and the placemark field name
            if (conn.mapping.tableName.Equals(""))
            {
                conn.mapping.setPlacemarkFieldName(nameColumnDD.SelectedValue);
                conn.mapping.setTableName(GridViewTables.SelectedValue.ToString());
                //mapSuccess2.Visible = true;
            } //else if the currently mapped table matches the currently selected table, set the placemark field name
            else if (conn.mapping.tableName.Equals(GridViewTables.SelectedValue.ToString()))
            {
                conn.mapping.setPlacemarkFieldName(nameColumnDD.SelectedValue);
                //mapSuccess2.Visible = true;
            }
            else //else the tables don't match, throw error handler
            {
                ErrorHandler eh = new ErrorHandler("Placemark mapping must use the same table as lat/long. If both are currently set, remove the current mapping and try again.", errorPanel1);
                eh.displayError();
            }

            dFieldPanel.Visible = false;
            dFieldPanelE.Visible = false;
            displayCurrentMapping();
            sessionSave();
        }
示例#20
0
        protected void genIconConditionTable(object sender, EventArgs e)
        {
            IconConditionPanel.Controls.Clear();
            Boolean altRows = true;
            if (conn.icons.Count == 0)  // No images set for the condition. Display a simple table stating such.
            {
                IconConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"conditionsBox\">\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("<div class=\"conditionsBoxStyle\">\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("<table class=\"omainBox5\" cellspacing=\"0\" cellpadding=\"0\">\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD\">\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("No images are currently set for this connection.\n"));
                if (Request.QueryString.Get("locked") != "true")
                    IconConditionPanel.Controls.Add(new LiteralControl("<br />Add some using the Add Icons button below.\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("</table>\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("</div>\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                IconConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
            }
            else
            {
                foreach (Icon icon in conn.icons)
                {
                    IconConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"iconBox\">\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("<img src=\"" + icon.getLocation() + "\" alt=\"\" border=\"2\" width=\"64\" height=\"64\" />\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"conditionsBox\">\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("<div class=\"conditionsBoxStyle\">\n"));

                    if (icon.getConditions().Count != 0)  // conditions exist; display them.
                    {

                            IconConditionPanel.Controls.Add(new LiteralControl("<table class=\"omainBox7\" cellspacing=\"0\" cellpadding=\"0\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("<tr class=\"tableTRTitle\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("Lower Bound\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("Lower Operator\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("Table\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("Field\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("Upper Operator\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("Upper Bound\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                            IconConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));

                            foreach (Condition condition in icon.getConditions())
                            {
                                if (altRows == true)
                                {
                                    IconConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                                    if (condition.getLowerOperator() != ODBC2KML.Condition.NONE.ToString())
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getLowerBound() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getLowerOperator() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    }
                                    else
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">&nbsp;</td><td class=\"tableTD2\">&nbsp;</td>\n"));
                                    }
                                    IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl(condition.getTableName() + "\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl(condition.getFieldName() + "\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    if (condition.getUpperOperator() != ODBC2KML.Condition.NONE.ToString())
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getUpperOperator() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getUpperBound() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    }
                                    else
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">&nbsp;</td><td class=\"tableTD2\">&nbsp;</td>\n"));
                                    }

                                    IconConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));

                                }
                                else
                                {
                                    IconConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                                    if (condition.getLowerOperator() != ODBC2KML.Condition.NONE.ToString())
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getLowerBound() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getLowerOperator() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    }
                                    else
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">&nbsp;</td><td class=\"tableTD3\">&nbsp;</td>\n"));
                                    }
                                    IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl(condition.getTableName() + "\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl(condition.getFieldName() + "\n"));
                                    IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    if (condition.getUpperOperator() != ODBC2KML.Condition.NONE.ToString())
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getUpperOperator() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl(condition.getUpperBound() + "\n"));
                                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    }
                                    else
                                    {
                                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">&nbsp;</td><td class=\"tableTD3\">&nbsp;</td>\n"));
                                    }

                                    IconConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));

                                }
                                altRows = !altRows;

                        }
                            IconConditionPanel.Controls.Add(new LiteralControl("</table>\n"));
                    }
                    else  // no conditions set. display table stating such.
                    {
                        IconConditionPanel.Controls.Add(new LiteralControl("<table class=\"omainBox5\" cellspacing=\"0\" cellpadding=\"0\">\n"));
                        IconConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                        IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD\">\n"));
                        IconConditionPanel.Controls.Add(new LiteralControl("No conditions are currently set.\n"));
                        if (Request.QueryString.Get("locked") != "true")
                            IconConditionPanel.Controls.Add(new LiteralControl("<br />Add some using the button to the right.\n"));
                        IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        IconConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
                        IconConditionPanel.Controls.Add(new LiteralControl("</table>\n"));
                    }

                    IconConditionPanel.Controls.Add(new LiteralControl("</div>\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("<td class=\"buttonClass\">\n"));
                    Button modifyButton = new Button();
                    if (Request.QueryString.Get("locked") != "true")
                    {
                        modifyButton.Text = "Modify Condition";
                        modifyButton.CssClass = "button";
                        modifyButton.Width = 135;
                        modifyButton.ID = "modifyIconCondition_" + icon.getId();
                        IconConditionPanel.Controls.Add(modifyButton);
                    }
                    Panel modifyIconConditionPopupPanel = new Panel();

                    //modifyIconConditionPopupPanel.ScrollBars = ScrollBars.Auto;
                    modifyIconConditionPopupPanel.ID = "modifyIconConditionPopupPanel" + icon.getId();
                    modifyIconConditionPopupPanel.Style["display"] = "none";
                    modifyIconConditionPopupPanel.CssClass = "boxPopupStyle";
                    UpdatePanel modifyIconConditionInsidePopupPanel = new UpdatePanel();
                    modifyIconConditionInsidePopupPanel.ID = "modifyIconConditionInsidePopupPanel" + icon.getId().ToString();
                    modifyIconConditionInsidePopupPanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                    try
                    {
                        genIconConditionPopup(modifyIconConditionInsidePopupPanel, icon.getId());
                    }
                    catch (ODBC2KMLException ex)
                    {
                        ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                        eh.displayError();
                        return;
                    }
                    modifyIconConditionPopupPanel.Controls.Add(modifyIconConditionInsidePopupPanel);
                    modifyIconConditionPopupPanel.Controls.Add(new LiteralControl("<div align=\"right\">"));
                    Button submitModifyConditionPopup = new Button();
                    submitModifyConditionPopup.ID = "submitModifyCondition" + icon.getId();
                    submitModifyConditionPopup.Text = "Submit";
                    submitModifyConditionPopup.CssClass = "button";
                    submitModifyConditionPopup.Click += new EventHandler(submitModifyIconConditionPopup_Click);;
                    submitModifyConditionPopup.CommandArgument = icon.getId();
                    modifyIconConditionPopupPanel.Controls.Add(submitModifyConditionPopup);
                    modifyIconConditionPopupPanel.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));
                    Button cancelModifyConditionPopup = new Button();
                    cancelModifyConditionPopup.ID = "cancelIconModifyCondition" + icon.getId();
                    cancelModifyConditionPopup.Text = "Cancel";
                    cancelModifyConditionPopup.CssClass = "button";
                    cancelModifyConditionPopup.Click += new EventHandler(cancelModifyIconConditionPopup_Click);
                    cancelModifyConditionPopup.CommandArgument = icon.getId();
                    modifyIconConditionPopupPanel.Controls.Add(cancelModifyConditionPopup);
                    modifyIconConditionPopupPanel.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));
                    modifyIconConditionPopupPanel.Controls.Add(new LiteralControl("</div>"));
                    if (Request.QueryString.Get("locked") != "true")
                    {
                        AjaxControlToolkit.ModalPopupExtender mpe = new AjaxControlToolkit.ModalPopupExtender();
                        mpe.ID = "MPE_" + icon.getId();
                        mpe.BackgroundCssClass = "modalBackground";
                        mpe.DropShadow = true;
                        mpe.PopupControlID = modifyIconConditionPopupPanel.ID.ToString();
                        mpe.TargetControlID = modifyButton.ID.ToString();

                        IconConditionPanel.Controls.Add(mpe);

                        IconConditionPanel.Controls.Add(modifyIconConditionPopupPanel);
                    }
                    IconConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                    IconConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));

                    DropDownList addTableName = (DropDownList)Page.FindControl("addIconTable" + icon.getId());
                    if ((addTableName != null) && (addTableName.Items.Count != 0))
                    {
                        //addTableName.SelectedIndex = 0;
                        addTableName_SelectedIndexChanged(addTableName, new EventArgs());
                    }
                }  // end of foreach icon in tempIconlist
            }
        }
示例#21
0
        protected void submitModifyOverlayConditionPopup_Click(object sender, EventArgs e)
        {
            overlayList = new ArrayList();
            foreach (Overlay overlay in conn.overlays)  // conn.overlays is the overlays/conditions that were in the connection when we generated this table
            {
                overlayList.Add(new Overlay(overlay));  // Make the list that Cancel falls back to look just like the current list.
            }

            try
            {
                genOverlayConditionTable(sender, e);
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
            sessionSave();
        }
示例#22
0
        protected void genOverlayConditionTable(object sender, EventArgs e)
        {
            OverlayConditionPanel.Controls.Clear();
            if (conn.overlays.Count == 0)  // No images set for the condition. Display a simple table stating such.
            {
                overlayDirections.Controls.Clear();
                OverlayConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"conditionsBox\">\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("<div class=\"conditionsBoxStyle\">\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("<table class=\"omainBox5\" cellspacing=\"0\" cellpadding=\"0\">\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD\">\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("No overlays are currently set for this connection.</span>\n"));
                if (Request.QueryString.Get("locked") != "true")
                    OverlayConditionPanel.Controls.Add(new LiteralControl("<br />Add some using the Add Overlay button below.\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("</table>\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("</div>\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                OverlayConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
            }
            else
            {
                foreach (Overlay overlay in conn.overlays)
                {
                    OverlayConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"iconBox\">\n"));

                    if (Request.QueryString.Get("locked") != "true")
                    {
                        // Generate Text Box to hold the color
                        TextBox tx = new TextBox();
                        tx.ReadOnly = true;
                        tx.CssClass = "overlayBox";
                        tx.ToolTip = "Click to change the overlay color";
                        tx.ID = "overlay" + overlay.getId() + "color";
                        tx.Style["background-color"] = "#" + overlay.getColor();
                        tx.Style["border"] = "2px solid black";
                        tx.Style["cursor"] = "pointer";

                        // Generate the ColorPicker for each overlay
                        ColorPicker colorPicker = new ColorPicker();
                        colorPicker.InitialColor = "#" + overlay.getColor();
                        colorPicker.ColorPostBack += overlayColorChanged;
                        colorPicker.TargetId = tx.ClientID;
                        colorPicker.ID = "overlayColorPicker" + overlay.getId();
                        colorPicker.PickButton = false;
                        colorPicker.TargetProperty = "style.backgroundColor";
                        colorPicker.AutoPostBack = true;
                        colorPicker.Controls.Add(tx);
                        OverlayConditionPanel.Controls.Add(colorPicker);
                    }
                    else
                    {
                        // Generate Text Box to hold the color
                        TextBox tx = new TextBox();

                        tx.Enabled = false;
                        tx.CssClass = "overlayBox";
                        tx.ToolTip = "Click to change the overlay color";
                        tx.ID = "overlay" + overlay.getId() + "color";
                        tx.Style["background-color"] = "#" + overlay.getColor();
                        tx.Style["border"] = "2px solid black";
                        OverlayConditionPanel.Controls.Add(tx);
                    }

                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"conditionsBox\">\n"));
                    OverlayConditionPanel.Controls.Add(new LiteralControl("<div class=\"conditionsBoxStyle\">\n"));

                    if (overlay.getConditions().Count != 0)  // conditions exist; display them.
                    {
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<table class=\"omainBox7\" cellspacing=\"0\" cellpadding=\"0\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<tr class=\"tableTRTitle\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("Lower Bound\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("Lower Operator\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("Table\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("Field\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("Upper Operator\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("Upper Bound\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));

                        Boolean altRows = true;
                        foreach (Condition condition in overlay.getConditions())
                        {
                            if (altRows == true)
                            {
                                OverlayConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                                if (condition.getLowerOperator() != ODBC2KML.Condition.NONE.ToString())
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getLowerBound() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getLowerOperator() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                }
                                else
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">&nbsp;</td><td class=\"tableTD2\">&nbsp;</td>\n"));
                                }
                                OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getTableName() + "\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getFieldName() + "\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                if (condition.getUpperOperator() != ODBC2KML.Condition.NONE.ToString())
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getUpperOperator() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getUpperBound() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                }
                                else
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD2\">&nbsp;</td><td class=\"tableTD2\">&nbsp;</td>\n"));
                                }

                                OverlayConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
                            }
                            else
                            {
                                OverlayConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                                if (condition.getLowerOperator() != ODBC2KML.Condition.NONE.ToString())
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getLowerBound() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getLowerOperator() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                }
                                else
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">&nbsp;</td><td class=\"tableTD3\">&nbsp;</td>\n"));
                                }
                                OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getTableName() + "\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getFieldName() + "\n"));
                                OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                if (condition.getUpperOperator() != ODBC2KML.Condition.NONE.ToString())
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getUpperOperator() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl(condition.getUpperBound() + "\n"));
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                                }
                                else
                                {
                                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD3\">&nbsp;</td><td class=\"tableTD3\">&nbsp;</td>\n"));
                                }

                                OverlayConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
                            }
                            altRows = !altRows;
                        }
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</table>\n"));
                    }
                    else  // no conditions set. display table stating such.
                    {
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<table class=\"omainBox5\" cellspacing=\"0\" cellpadding=\"0\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<tr>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"tableTD\">\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("No conditions are currently set.\n"));
                        if (Request.QueryString.Get("locked") != "true")
                            OverlayConditionPanel.Controls.Add(new LiteralControl("<br />Add some using the button to the right.\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));
                        OverlayConditionPanel.Controls.Add(new LiteralControl("</table>\n"));
                    }

                    OverlayConditionPanel.Controls.Add(new LiteralControl("</div>\n"));
                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                    OverlayConditionPanel.Controls.Add(new LiteralControl("<td class=\"buttonClass\">\n"));
                    Button modifyButton = new Button();
                    if (Request.QueryString.Get("locked") != "true")
                    {
                        modifyButton.Text = "Modify Condition";
                        modifyButton.CssClass = "button";
                        modifyButton.Width = 135;
                        modifyButton.ID = "modifyOverlayCondition_" + overlay.getId();
                        OverlayConditionPanel.Controls.Add(modifyButton);
                    }
                    Panel modifyOverlayConditionPopupPanel = new Panel();
                    modifyOverlayConditionPopupPanel.ScrollBars = ScrollBars.Auto;
                    modifyOverlayConditionPopupPanel.ID = "modifyOverlayConditionPopupPanel" + overlay.getId();
                    modifyOverlayConditionPopupPanel.Style["display"] = "none";
                    modifyOverlayConditionPopupPanel.CssClass = "boxPopupStyle";
                    UpdatePanel modifyOverlayConditionInsidePopupPanel = new UpdatePanel();
                    modifyOverlayConditionInsidePopupPanel.ID = "modifyOverlayConditionInsidePopupPanel" + overlay.getId();
                    modifyOverlayConditionInsidePopupPanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                    try
                    {
                        genOverlayConditionPopup(modifyOverlayConditionInsidePopupPanel, overlay.getId());
                    }
                    catch (ODBC2KMLException ex)
                    {
                        ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                        eh.displayError();
                        return;
                    }
                    modifyOverlayConditionPopupPanel.Controls.Add(modifyOverlayConditionInsidePopupPanel);

                    modifyOverlayConditionPopupPanel.Controls.Add(new LiteralControl("<div align=\"right\">"));
                    Button submitModifyConditionPopup = new Button();
                    submitModifyConditionPopup.ID = "submitOverlayModifyCondition" + overlay.getId();
                    submitModifyConditionPopup.Text = "Submit";
                    submitModifyConditionPopup.CssClass = "button";
                    submitModifyConditionPopup.Click += new EventHandler(submitModifyOverlayConditionPopup_Click);
                    modifyOverlayConditionPopupPanel.Controls.Add(submitModifyConditionPopup);
                    modifyOverlayConditionPopupPanel.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));
                    Button cancelModifyConditionPopup = new Button();
                    cancelModifyConditionPopup.ID = "cancelOverlayModifyCondition" + overlay.getId();
                    cancelModifyConditionPopup.Text = "Cancel";
                    cancelModifyConditionPopup.CssClass = "button";
                    cancelModifyConditionPopup.Click += new EventHandler(cancelModifyOverlayConditionPopup_Click);
                    cancelModifyConditionPopup.CommandArgument = overlay.getId();
                    modifyOverlayConditionPopupPanel.Controls.Add(cancelModifyConditionPopup);
                    modifyOverlayConditionPopupPanel.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));
                    modifyOverlayConditionPopupPanel.Controls.Add(new LiteralControl("</div>"));
                    if (Request.QueryString.Get("locked") != "true")
                    {
                        AjaxControlToolkit.ModalPopupExtender mpe = new AjaxControlToolkit.ModalPopupExtender();
                        mpe.ID = "MPE_OVERLAY_" + overlay.getId();
                        mpe.BackgroundCssClass = "modalBackground";
                        mpe.DropShadow = true;
                        mpe.PopupControlID = modifyOverlayConditionPopupPanel.ID.ToString();
                        mpe.TargetControlID = modifyButton.ID.ToString();
                        OverlayConditionPanel.Controls.Add(mpe);

                        OverlayConditionPanel.Controls.Add(modifyOverlayConditionPopupPanel);
                    }
                    OverlayConditionPanel.Controls.Add(new LiteralControl("</td>\n"));
                    OverlayConditionPanel.Controls.Add(new LiteralControl("</tr>\n"));

                    DropDownList addTableName = (DropDownList)Page.FindControl("addOverlayTable" + overlay.getId());
                    if ((addTableName != null) && (addTableName.Items.Count != 0))
                    {
                        //addTableName.SelectedIndex = 0;
                        addTableName_SelectedIndexChanged(addTableName, new EventArgs());
                    }
                }  // end of foreach overlay in tempOverlaylist
            }
        }
示例#23
0
        /// <summary>
        /// used for uploading icons from local computer
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void uploadClick(object sender, EventArgs e)
        {
            String pathToAdd = "";
            try
            {
                pathToAdd = Utilities.uploadClick(fileSaveLoc, relativeFileSaveLoc, fileUpEx);
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
            fileUpEx = new FileUpload(); // this is to clear the upload box incase someone wants to upload another file
            if (!pathToAdd.Equals(""))
            {
                try
                {
                    addSingleIconToLib(pathToAdd);
                }
                catch (ODBC2KMLException)
                {
                    ErrorHandler eh = new ErrorHandler("There was an error adding the icon to the library", errorPanel1);
                    eh.displayError();
                }
            }

            sessionSave();
        }
示例#24
0
        protected void googleEarthPopup(object sender, EventArgs args)
        {
            //Set any variables that might have been saved
            conn.description.setDesc(descriptionBox.Text);
            conn.connInfo.setConnectionName(odbcName.Text);
            conn.connInfo.setDatabaseName(odbcDName.Text);
            conn.connInfo.setDatabaseType(odbcDBType.SelectedIndex);
            conn.connInfo.setOracleProtocol(odbcProtocol.Text);
            conn.connInfo.setOracleServiceName(odbcSName.Text);
            conn.connInfo.setOracleSID(odbcSID.Text);
            conn.connInfo.setPassword(odbcPass.Text);
            conn.connInfo.setPortNumber(odbcPN.Text);
            conn.connInfo.setServerAddress(odbcAdd.Text);
            conn.connInfo.setUserName(odbcUser.Text);

            //Generate the server path and pass the connection object and path to preview
            String serverPath = "http://" + Request.ServerVariables["SERVER_NAME"] + ":" + Request.ServerVariables["SERVER_PORT"];
            Session["serverPath"] = serverPath;
            Session["Connection"] = conn;
            try
            {
                //check if connection is valid before generating KML
                if (!conn.connInfo.isValid(conn.connID))
                {
                    throw new ODBC2KMLException("Invalid connection info. Resolve this before previewing KML.");
                }
                else if (!conn.mapping.isValid(conn.connInfo) || conn.mapping.format == 0)
                {
                    throw new ODBC2KMLException("Invalid mapping. Resolve this before previewing KML.");
                }
                else if (!conn.description.isValid(conn.connInfo, conn.mapping))
                {
                    throw new ODBC2KMLException("Invalid description. Resolve this before previewing KML.");
                }
                else
                {
                    //Save the session
                    sessionSave();

                    ClientScript.RegisterStartupScript(this.GetType(), "Preview KML", "previewKMLPopup();", true);
                }
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
            }
        }
示例#25
0
        /// <summary>
        /// PostBack function for the overlay colorPicker
        /// </summary>
        /// <param name="sender">Object that called postback</param>
        /// <param name="e">Color and Previous color for that colorPicker</param>
        private void overlayColorChanged(Object sender, ColorPostBackEventArgs e)
        {
            ColorPicker colorPicker = (ColorPicker)sender;
            string overlayID = colorPicker.TargetId;
            overlayID = overlayID.Replace("overlay", "");
            overlayID = overlayID.Replace("color", "");

            // Check to see if the overlay color already exists in the connection
            foreach (Overlay over in conn.overlays)
            {
                if (e.Color == ("#" + over.color) && over.id != int.Parse(overlayID))
                {
                    ErrorHandler eh = new ErrorHandler("Overlay color already exists! Please choose another.", errorPanel1);
                    eh.displayError();
                    return;
                }
            }

            // if it is a unique color, save the change
            foreach (Overlay over in conn.overlays)
            {

                if(over.id == int.Parse(overlayID))
                {
                    over.color = e.Color.Replace("#","");
                    break;
                }
            }

            //Regenerate the overlay condition table
            genOverlayConditionTable(null, null);

            // Recreate overlay popup panel to display the new overlay colors.
            fillOverlayLibraryLists();
            fillOverlayPopupRemove();

            sessionSave();
        }
示例#26
0
        protected void modifyConnection(object sender, EventArgs e)
        {
            //Set the current description and conninfo right before save
            conn.description.setDesc(descriptionBox.Text);

            conn.connInfo.setConnectionName(odbcName.Text);
            conn.connInfo.setDatabaseName(odbcDName.Text);
            conn.connInfo.setDatabaseType(odbcDBType.SelectedIndex);
            conn.connInfo.setOracleProtocol(odbcProtocol.Text);
            conn.connInfo.setOracleServiceName(odbcSName.Text);
            conn.connInfo.setOracleSID(odbcSID.Text);
            conn.connInfo.setPassword(odbcPass.Text);
            conn.connInfo.setPortNumber(odbcPN.Text);
            conn.connInfo.setServerAddress(odbcAdd.Text);
            conn.connInfo.setUserName(odbcUser.Text);

            //If format is 0, set mapping to null for save connection validation
            if (conn.mapping.getFormat() == -1)
            {
                conn.mapping.setFormat(0) ;
            }

            try
            {
                int returnVal = conn.saveConn();

                //Check the return code
                switch(returnVal)
                {
                    case 0:
                        break;
                    case 1:
                        throw new ODBC2KMLException("The connection information is invalid.");
                    case 2:
                        throw new ODBC2KMLException("The mapping information is invalid.");
                    case 3:
                        throw new ODBC2KMLException("The connection could not be converted to a safe state.");
                    case 4:
                        throw new ODBC2KMLException("The description is not a valid description.");
                    case 5:
                        throw new ODBC2KMLException("Save connection did not operate properly.");
                }

            }
            catch (ODBC2KMLException err)
            {
                ErrorHandler eh = new ErrorHandler("There was an error saving the connection. " + err.errorText, errorPanel1);
                eh.displayError();
                return;
            }

            sessionSave();
            Response.Redirect("ConnDetails.aspx?ConnID=" + conn.connID + "&locked=false");
        }
示例#27
0
        //Adds an icon to a connection from the library
        protected void addIconFromLibraryToConn(object sender, EventArgs e)
        {
            ImageButton sendBtn = (ImageButton)sender;
            String args = sendBtn.CommandArgument.ToString();  // IconLibrary.ID in database

            try
            {
                foreach (Icon icon in iconListAvailableToAdd)  // icon is pointer to icon with the ID in the Icon Library's ArrayList
                {
                    if (icon.getId().Equals(args))
                    {
                        iconListAvailableToAdd.Remove(icon);
                        iconListAvailableToRemove.Add(new Icon(icon));
                        iconList.Add(new Icon(icon));
                        conn.icons.Add(new Icon(icon));
                        this.fillIconLibraryPopup();
                        this.fillIconLibraryPopupRemove();
                        this.genIconConditionTable(sender, e);
                        break;
                    }
                }
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }

            sessionSave();
        }
示例#28
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {

                fileSaveLoc = Server.MapPath("/icons/");
                dFieldPanel.Visible = false;
                dLinkPanel.Visible = false;
                dFieldPanelE.Visible = false;

                if (!IsPostBack)
                {

                    //No ID, redirect to main
                    if (Request.QueryString.Get("ConnID") == null)
                    {
                        Response.Redirect("Main.aspx");
                        return;
                    }
                    else
                    {
                        //Grab and parse connection ID
                        bool isValidConnId = int.TryParse(Request.QueryString.Get("ConnID"),out conn.connID);
                        if (!isValidConnId)
                        {
                            Response.Redirect("Main.aspx");
                        }

                        try
                        {
                            conn.populateFields();
                        }
                        catch (ODBC2KMLException)
                        {
                            ErrorHandler eh = new ErrorHandler("There was an error retreiving connection information", errorPanel1);
                            eh.displayError();
                            return;
                        }

                        string portNum = HttpContext.Current.Request.ServerVariables["SERVER_PORT"];

                        string labelText = "";

                        //labelText = "http://polytech-deploy/KMLGenWebSVC.asmx/getKML?connID=" + conn.connID;
                        labelText = "http://" + Dns.GetHostName() +"/KMLGenWebSVC.asmx/getKML?connID=" + conn.connID;
                        //labelText = "http://" + Dns.GetHostAddresses(Dns.GetHostName())[0].ToString() +"/KMLGenWebSVC.asmx/getKML?connID=" + conn.connID;

                        GELink.Text = labelText;

                        iLinkURLBox.Text = "http://";

                        ColorAddText.Style["background-color"] = HiddenValue.Value = "#FFFFFF";
                        curOverlayCount = -1;

                        odbcAdd.Text = conn.connInfo.getServerAddress();
                        odbcDName.Text = conn.connInfo.getDatabaseName();
                        odbcName.Text = conn.connInfo.getConnectionName();
                        odbcPass.Attributes.Add("value", conn.connInfo.getPassword());
                        odbcPN.Text = conn.connInfo.getPortNumber();
                        odbcUser.Text = conn.connInfo.getUserName();
                        odbcProtocol.Text = conn.connInfo.getOracleProtocol();
                        odbcSName.Text = conn.connInfo.getOracleServiceName();
                        odbcSID.Text = conn.connInfo.getOracleSID();

                        updateSqlDataSources();

                        if (!alreadySetupLists)
                        {
                            try
                            {
                                fillIconLibraryLists();
                                fillOverlayLibraryLists();
                                fillIconListFromDatabase();
                                alreadySetupLists = true;
                            }
                            catch (ODBC2KMLException)
                            {
                                ErrorHandler eh = new ErrorHandler("There was an error populating the icon and overlay lists", errorPanel1);
                                eh.displayError();
                                return;
                            }
                        }

                        //editor insertion
                        string connectionString_editor = "";
                        string providerName_editor = "";

                        //Set Table Datasources & fill in gridview/boxes
                        if (conn.connInfo.getDatabaseType() == ConnInfo.MSSQL)
                        {
                            connectionString_editor = "Data Source=" + conn.connInfo.getServerAddress() + ";Initial Catalog=" + conn.connInfo.getDatabaseName() + ";Persist Security Info=True;User Id=" + conn.connInfo.getUserName() + ";Password="******"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA != 'information_schema' AND TABLE_NAME != 'sysdiagrams'";
                        }

                        else if (conn.connInfo.getDatabaseType() == ConnInfo.MYSQL)
                        {
                            connectionString_editor = "server=" + conn.connInfo.getServerAddress() + ";User Id=" + conn.connInfo.getUserName() + ";password="******";Persist Security Info=True;database=" + conn.connInfo.getDatabaseName();
                            providerName_editor = "MySql.Data.MySqlClient";
                            SQLTables_Mapping.ConnectionString = connectionString_editor;
                            SQLTables_Mapping.ProviderName = providerName_editor;
                            SQLTables_Mapping.SelectCommand = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA != 'information_schema' && TABLE_SCHEMA != 'mysql'";
                        }

                        else if (conn.connInfo.getDatabaseType() == ConnInfo.ORACLE)
                        {
                            connectionString_editor = "Data Source=" + conn.connInfo.getServerAddress() + ";Persist Security Info=True;User ID=" + conn.connInfo.getUserName() + ";Password="******";Unicode=True";
                            providerName_editor = "System.Data.OracleClient";
                            oracleTables_Mapping.ConnectionString = connectionString_editor;
                            oracleTables_Mapping.ProviderName = providerName_editor;
                            oracleTables_Mapping.SelectCommand = "select TABLE_NAME from user_tables";
                        }

                        else
                        {
                            throw new ODBC2KMLException("Unknown database type.");
                        }

                        updateTables(conn.connInfo.getDatabaseType());

                        descriptionBox.Text = conn.description.getDesc();

                        //show the current mapping box
                        displayCurrentMapping();

                        sessionSave();
                    }
                }

                sessionLoad();
                ColorPicker1.InitialColor = "-111111";
                fillIconLibraryPopup();
                fillIconLibraryPopupRemove();

                fillOverlayPopupRemove();

                genIconConditionTable(sender, e);
                genOverlayConditionTable(sender, e);

                sessionSave();

                if (Request.QueryString.Get("locked") == "true")
                {
                    LockPage();
                }
            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                eh.displayError();
                return;
            }
        }
示例#29
0
 protected void cancelModifyIconConditionPopup_Click(object sender, EventArgs e)
 {
     Button btn = (Button)sender;
     string iconId = btn.CommandArgument;
     Icon replaceWithThisIcon = new Icon();
     foreach (Icon icon in iconList)
     {
         if (icon.getId() == iconId)
         {
             replaceWithThisIcon = icon;
             break;
         }
     }
     foreach (Icon icon in conn.icons)
     {
         if (icon.getId() == iconId)
             icon.setConditions(replaceWithThisIcon.getDeepCopyOfConditions());
     }
     try
     {
         genIconConditionTable(sender, e);
     }
     catch (ODBC2KMLException ex)
     {
         ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
         eh.displayError();
         return;
     }
     sessionSave();
 }
示例#30
0
        protected void createConnection(object sender, EventArgs e)
        {
            String ConnName = odbcNameE.Text.ToString();
            String ConnDBName = odbcDNameE.Text.ToString();
            String ConnDBAddress = odbcDatabaseE.Text.ToString();
            String ConnPortNum = odbcPNE.Text.ToString();
            String ConnUser = odbcUserE.Text.ToString();
            String ConnPWD = odbcPWE.Text.ToString();
            String ConnDBType = odbcDBType.SelectedValue.ToString();
            String oracleProtocol = odbcProtocol.Text.ToString();
            String oracleSName = odbcSName.Text.ToString();
            String oracleSID = odbcSID.Text.ToString();
            String DBTypeNum;
            odbcDBType.SelectedIndex = 0;

            if (ConnDBType.Equals("MySQL")){
                DBTypeNum = "0";
            }else if(ConnDBType.Equals("MSSQL")){
                DBTypeNum = "1";
            }else{
                DBTypeNum = "2";
            }

            if (DBTypeNum.Equals("2")){
                if (oracleSName.Equals("") && oracleSID.Equals("")){
                    ErrorHandler eh = new ErrorHandler("Either Service Name or Service ID must be completed!", errorPanel1);
                    this.NewConn1ModalPopUp.Hide();
                    eh.displayError();
                    return;
                }
                if (oracleProtocol.Equals(""))
                {
                    ErrorHandler eh = new ErrorHandler("Oracle protocol must be provided!", errorPanel1);
                    this.NewConn1ModalPopUp.Hide();
                    eh.displayError();
                    return;
                }
            }

            Database dbCheck = new Database();
            DataTable dtCheck = null;

            try
            {
                dtCheck = dbCheck.executeQueryLocal("SELECT name FROM Connection WHERE name=\'" + ConnName + "\'");
            }
            catch (ODBC2KMLException)
            {
                ErrorHandler eh = new ErrorHandler("There was an error getting the Connection's name", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }

            if (dtCheck.Rows.Count > 0)
            {
                ErrorHandler eh = new ErrorHandler("Connection name already in use!", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }
            if (ConnName.Equals(""))
            {
                ErrorHandler eh = new ErrorHandler("The connection must have a unique name!", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }else if (ConnDBName.Equals(""))
            {
                ErrorHandler eh = new ErrorHandler("The connection must have a database name!", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }else if (ConnDBAddress.Equals(""))
            {
                ErrorHandler eh = new ErrorHandler("The connection must have a database address!", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }else if (ConnPortNum.Equals(""))
            {
                ErrorHandler eh = new ErrorHandler("The connection must have a port number!", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }else if(ConnUser.Equals(""))
            {
                ErrorHandler eh = new ErrorHandler("The connection must have a user name!", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }else if (ConnPWD.Equals(""))
            {
                ErrorHandler eh = new ErrorHandler("The connection must have a password!", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }

            ConnInfo testConn = new ConnInfo();
            testConn.setConnectionName(ConnName);
            testConn.setDatabaseName(ConnDBName);
            testConn.setDatabaseType((int)Convert.ToInt32(DBTypeNum));
            testConn.setPassword(ConnPWD);
            testConn.setPortNumber(ConnPortNum);
            testConn.setServerAddress(ConnDBAddress);
            testConn.setUserName(ConnUser);
            if (DBTypeNum.Equals("2"))
            {
                testConn.setOracleProtocol(oracleProtocol);
                testConn.setOracleServiceName(oracleSName);
                testConn.setOracleSID(oracleSID);
            }

            try
            {
                Database dbTest = new Database(testConn);
                DataTable dtTest;
                if (DBTypeNum.Equals("0"))
                {
                    dtTest = dbTest.executeQueryRemote("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES");
                }
                else if (DBTypeNum.Equals("1"))
                {
                    dtTest = dbTest.executeQueryRemote("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES");
                }
                else
                {
                    dtTest = dbTest.executeQueryRemote("SELECT TABLE_NAME FROM user_tables");
                }

            }
            catch (ODBC2KMLException ex)
            {
                ErrorHandler eh = new ErrorHandler(ex.errorText, errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }

            //Call Create DB with the DB Function
            Database db = new Database();
            DataTable dt;

            try
            {
                if (DBTypeNum.Equals("2"))
                {
                    db.executeQueryLocal("INSERT INTO Connection (name, dbName, userName, password, port, address, type, protocol, serviceName, SID) VALUES ('" + ConnName + "', '" + ConnDBName + "', '" + ConnUser + "', '" + ConnPWD + "', '" + ConnPortNum + "', '" + ConnDBAddress + "', '" + DBTypeNum + "', '" + oracleProtocol + "', '" + oracleSName + "', '" + oracleSID + "')");
                }
                else
                {
                    db.executeQueryLocal("INSERT INTO Connection (name, dbName, userName, password, port, address, type, protocol, serviceName, SID) VALUES ('" + ConnName + "', '" + ConnDBName + "', '" + ConnUser + "', '" + ConnPWD + "', '" + ConnPortNum + "', '" + ConnDBAddress + "', '" + DBTypeNum + "', '', '', '')");
                }
            }
            catch (ODBC2KMLException)
            {
                ErrorHandler eh = new ErrorHandler("There was an error saving the connection to the database.", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }

            this.NewConn1ModalPopUp.Hide();
            //Jump to the Modify page

            try
            {
                dt = db.executeQueryLocal("SELECT ID FROM CONNECTION WHERE name='" + ConnName + "' AND dbName='" + ConnDBName + "' AND userName='******' AND port='" + ConnPortNum + "' AND address='" + ConnDBAddress + "' AND type='" + DBTypeNum + "'");
            }
            catch (ODBC2KMLException)
            {
                ErrorHandler eh = new ErrorHandler("There was an error retreiving the new connection's connID.", errorPanel1);
                this.NewConn1ModalPopUp.Hide();
                eh.displayError();
                return;
            }

            foreach (DataRow dr in dt.Rows)
            {
                string connID = dr["ID"].ToString();

                Response.Redirect("ConnDetails.aspx?ConnID=" + connID + "&locked=false");
            }
        }