public virtual void Delete()
        {
            if (this.IsNewRecord)
            {
                return;
            }

            KeyValue pkValue = KeyValue.XmlToKey(this.RecordUniqueId);

            HonourContactLinksTable.DeleteRecord(pkValue);
        }
        public virtual void LoadData()
        {
            // Load the data from the database into the DataSource DatabaseOLR_db%dbo.HonourContactLinks record.
            // It is better to make changes to functions called by LoadData such as
            // CreateWhereClause, rather than making changes here.


            // The RecordUniqueId is set the first time a record is loaded, and is
            // used during a PostBack to load the record.
            if (this.RecordUniqueId != null && this.RecordUniqueId.Length > 0)
            {
                this.DataSource = HonourContactLinksTable.GetRecord(this.RecordUniqueId, true);

                return;
            }

            // This is the first time a record is being retrieved from the database.
            // So create a Where Clause based on the staic Where clause specified
            // on the Query wizard and the dynamic part specified by the end user
            // on the search and filter controls (if any).

            WhereClause wc = this.CreateWhereClause();

            // If there is no Where clause, then simply create a new, blank record.

            if (wc == null || !(wc.RunQuery))
            {
                this.DataSource = new HonourContactLinksRecord();

                return;
            }

            // Retrieve the record from the database.  It is possible
            HonourContactLinksRecord[] recList = HonourContactLinksTable.GetRecords(wc, null, 0, 2);
            if (recList.Length == 0)
            {
                // There is no data for this Where clause.
                wc.RunQuery = false;

                return;
            }

            // Set DataSource based on record retrieved from the database.
            this.DataSource = (HonourContactLinksRecord)HonourContactLinksRecord.Copy(recList[0], false);
        }
        public virtual void SetHonourId()
        {
            string selectedValue = null;

            // figure out the selectedValue



            // Set the HonourId QuickSelector on the webpage with value from the
            // DatabaseOLR_db%dbo.HonourContactLinks database record.

            // this.DataSource is the DatabaseOLR_db%dbo.HonourContactLinks record retrieved from the database.
            // this.HonourId is the ASP:QuickSelector on the webpage.

            // You can modify this method directly, or replace it with a call to
            //     base.SetHonourId();
            // and add your own custom code before or after the call to the base function.


            // Default Value could also be NULL.
            if (this.DataSource != null && this.DataSource.IsCreated)
            {
                selectedValue = this.DataSource.HonourId.ToString();
            }
            else
            {
                selectedValue = EvaluateFormula("URL(\"HonourId\")");
            }


            // Add the Please Select item.
            if (selectedValue == null || selectedValue == "")
            {
                MiscUtils.ResetSelectedItem(this.HonourId, new ListItem(this.Page.GetResourceValue("Txt:PleaseSelect", "OLR"), "--PLEASE_SELECT--"));
            }


            // Populate the item(s) to the control

            this.HonourId.SetFieldMaxLength(50);

            System.Collections.Generic.IDictionary <string, object> variables = new System.Collections.Generic.Dictionary <string, object>();
            FormulaEvaluator evaluator = new FormulaEvaluator();

            if (selectedValue != null &&
                selectedValue.Trim() != "" &&
                !MiscUtils.SetSelectedValue(this.HonourId, selectedValue) &&
                !MiscUtils.SetSelectedDisplayText(this.HonourId, selectedValue))
            {
                // construct a whereclause to query a record with DatabaseOLR_db%dbo.Honours.HonourId = selectedValue

                CompoundFilter filter2      = new CompoundFilter(CompoundFilter.CompoundingOperators.And_Operator, null);
                WhereClause    whereClause2 = new WhereClause();
                filter2.AddFilter(new BaseClasses.Data.ColumnValueFilter(HonoursTable.HonourId, selectedValue, BaseClasses.Data.BaseFilter.ComparisonOperator.EqualsTo, false));
                whereClause2.AddFilter(filter2, CompoundFilter.CompoundingOperators.And_Operator);

                // Execute the query
                try
                {
                    HonoursRecord[] rc = HonoursTable.GetRecords(whereClause2, new OrderBy(false, false), 0, 1);
                    System.Collections.Generic.IDictionary <string, object> vars = new System.Collections.Generic.Dictionary <string, object> ();
                    // if find a record, add it to the dropdown and set it as selected item
                    if (rc != null && rc.Length == 1)
                    {
                        HonoursRecord itemValue = rc[0];
                        string        cvalue    = null;
                        string        fvalue    = null;
                        if (itemValue.HonourIdSpecified)
                        {
                            cvalue = itemValue.HonourId.ToString();
                        }
                        Boolean _isExpandableNonCompositeForeignKey = HonourContactLinksTable.Instance.TableDefinition.IsExpandableNonCompositeForeignKey(HonourContactLinksTable.HonourId);
                        if (_isExpandableNonCompositeForeignKey && HonourContactLinksTable.HonourId.IsApplyDisplayAs)
                        {
                            fvalue = HonourContactLinksTable.GetDFKA(itemValue, HonourContactLinksTable.HonourId);
                        }
                        if ((!_isExpandableNonCompositeForeignKey) || (String.IsNullOrEmpty(fvalue)))
                        {
                            fvalue = itemValue.Format(HonoursTable.HonourId);
                        }

                        if (fvalue == null || fvalue.Trim() == "")
                        {
                            fvalue = cvalue;
                        }
                        MiscUtils.ResetSelectedItem(this.HonourId, new ListItem(fvalue, cvalue));
                    }
                }
                catch
                {
                }
            }

            string url = this.ModifyRedirectUrl("../Honours/Honours-QuickSelector.aspx", "", true);

            url = this.Page.ModifyRedirectUrl(url, "", true);

            url += "?Target=" + this.HonourId.ClientID + "&Formula=" + (this.Page as BaseApplicationPage).Encrypt("= Honours.Description") + "&IndexField=" + (this.Page as BaseApplicationPage).Encrypt("HonourId") + "&EmptyValue=" + (this.Page as BaseApplicationPage).Encrypt("--PLEASE_SELECT--") + "&EmptyDisplayText=" + (this.Page as BaseApplicationPage).Encrypt(this.Page.GetResourceValue("Txt:PleaseSelect")) + "&Mode=" + (this.Page as BaseApplicationPage).Encrypt("FieldValueSingleSelection") + "&RedirectStyle=" + (this.Page as BaseApplicationPage).Encrypt("Popup");

            this.HonourId.Attributes["onClick"] = "initializePopupPage(this, '" + url + "', " + Convert.ToString(HonourId.AutoPostBack).ToLower() + ", event); return false;";
        }