// default constructor
        public ElementUtils(int applicationID, string baseUri)
        {
            this._applicationID = applicationID;
            this._baseUri = baseUri;

            // instantiate datasource and web source
            this._elementDataAdapter = new ElementDataAdapter();
            this._elementWebServiceHelper = new ElementWebServiceHelper(this._applicationID, this._baseUri);
        }
        /**
         * method to save app part data to its respective data table
         * @param appPartName
         * @param layout
         **/
        public void SaveAppPartData(string appPartName, FlowLayoutPanel layout)
        {
            ElementDataAdapter adapter = new ElementDataAdapter();
            List<string> elementNames = new List<string>();
            List<string> appPartValues = new List<string>();

            // loop through layout components and get values for items with storeable data
            foreach (Control control in layout.Controls)
            {
                if (control.GetType() == typeof(TextBox))
                {
                    TextBox textbox = (TextBox)control;
                    appPartValues.Add(textbox.Text);
                    Element element = adapter.GetElement(int.Parse(textbox.Name));
                    elementNames.Add(element.ElementID + "." + element.ElementName);
                }
                else if (control.GetType() == typeof(CheckBox))
                {
                    CheckBox checkbox = (CheckBox)control;
                    if (checkbox.Checked)
                    {
                        appPartValues.Add("1");
                    }
                    else
                    {
                        appPartValues.Add("0");
                    }
                    Element element = adapter.GetElement(int.Parse(checkbox.Name));
                    elementNames.Add(element.ElementID + "." + element.ElementName);
                }
                else if (control.GetType() == typeof(ComboBox))
                {
                    ComboBox combobox = (ComboBox)control;
                    appPartValues.Add(combobox.SelectedText);
                    Element element = adapter.GetElement(int.Parse(combobox.Name));
                    elementNames.Add(element.ElementID + "." + element.ElementName);
                }
                else if (control.GetType() == typeof(FlowLayoutPanel))
                {
                    FlowLayoutPanel radiogroup = (FlowLayoutPanel)control;

                    foreach (Control cntrl in radiogroup.Controls)
                    {
                        if (cntrl.GetType() == typeof(RadioButton))
                        {
                            // TODO partial method stub.
                        }
                    }
                }
            }

            // build insert query
            string sql = "INSERT INTO " + appPartName + "(";

            // iterate though list arrays to build insert query
            foreach (string columnName in elementNames)
            {
                sql = sql + "'" + columnName + "', ";
            }
            // trim trailing ", "
            sql = sql.Substring(0, sql.Length - 2) + ") VALUES (";

            // iterate through values
            foreach (string value in appPartValues)
            {
                sql = sql + "'" + value +"', ";
            }
            // trim trailing ", "
            sql = sql.Substring(0, sql.Length - 2) + ")";

            try
            {
                this._conn.Open();
                SqlCeCommand cmd = this._conn.CreateCommand();
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Esempio n. 3
0
 /**
  * Method to fetch elements for this app part from the local database
  **/
 public void FetchElements()
 {
     ElementDataAdapter adapter = new ElementDataAdapter();
     this._elements = adapter.GetAllElements(this._appPartID);
 }