Пример #1
0
        //void mruEdit_Click(object sender, EventArgs e)
        //{
        //    MRUEdit mruEdit = sender as MRUEdit;
        //    ProcSearchParam param = mruEdit.Tag as ProcSearchParam;

        //    if(mruEdit.Properties.Items.Count == 0 )
        //    {
        //        LoadListItems(mruEdit, param.Name.Substring(1));
        //    }
        //}

        public void searchForm_AddingMRUItem(object sender, DevExpress.XtraEditors.Controls.AddingMRUItemEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            MRUEdit editor = sender as MRUEdit;

            if (editor != null)
            {
                ProcSearchParam   param = editor.Tag as ProcSearchParam;
                ParameterList     list  = m_editorLists[editor.Name];
                ParameterListItem item  = list.Contains(param.Value.ToString());

                if (item == null)
                {
                    ParameterListItem newItem = Scout.Core.Data.CreateEntity <ParameterListItem>(m_session);
                    newItem.Item          = param.Value.ToString();
                    newItem.LastUsed      = DateTime.Now;
                    newItem.DateAdded     = DateTime.Now;
                    newItem.UserName      = SCOUT.Core.Security.UserSecurity.CurrentUser.Login;
                    newItem.ParameterList = list;
                }
                else
                {
                    item.LastUsed = DateTime.Now;
                }

                Scout.Core.Data.Save(m_session);
            }
        }
Пример #2
0
        private void paramResetMenu_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem tsmi = (ToolStripMenuItem)sender;
            BaseEdit          be   = (BaseEdit)tsmi.Owner.Tag;
            ProcSearchParam   p    = (ProcSearchParam)be.Tag;

            object defValue = null;

            if (m_hints.ContainsKey(p.Name))
            {
                defValue = m_hints[p.Name];
            }

            be.EditValue = defValue;
        }
Пример #3
0
        /// <summary>
        /// Creates a single parameter field for the user to enter
        /// search criteria into.
        /// </summary>
        /// <param name="param"></param>
        private void AddParam(ProcSearchParam param)
        {
            string   name        = param.Name.Substring(1);
            BaseEdit paramEditor = null;

            switch (param.Type.ToLower())
            {
            case "bit":
                paramEditor = new CheckEdit();
                break;

            case "smalldatetime":
                paramEditor = new DateEdit();
                break;

            case "int":
                paramEditor = new SpinEdit();
                ((SpinEdit)paramEditor).Properties.IsFloatValue = false;
                break;

            default:
                paramEditor = m_listController.NewMRUEdit(name);
                break;
            }

            paramEditor.Name = name + "Edit";
            paramEditor.Tag  = param;

            paramEditor.ContextMenuStrip  = CreateContextMenu(paramEditor);
            paramEditor.KeyPress         += paramEdit_KeyPress;
            paramEditor.EditValueChanged += paramEdit_ValueChanged;


            m_paramEditors[param.Name] = paramEditor;

            BaseLayoutItem bli =
                new LayoutControlItem(paramsLayout, paramEditor);

            // Try for a nicer looking label.
            name = SCOUT.Core.Data.Helpers.UnderscoreToCamel(name);
            name = SCOUT.Core.Data.Helpers.SplitCamelCaps(name);

            bli.Text = name;
        }
Пример #4
0
        private string FlattenParams()
        {
            IDictionaryEnumerator i  = (IDictionaryEnumerator)m_searchForm.StoredProcedure.Params.GetEnumerator();
            StringBuilder         sb = new StringBuilder();

            while (i.MoveNext())
            {
                ProcSearchParam param = (ProcSearchParam)i.Value;
                if (param.Value != null)
                {
                    sb.AppendFormat("{0}:{1},", param.Name, param.Value);
                }
            }

            if (sb.Length == 0)
            {
                return("");
            }

            return(sb.ToString(0, sb.Length - 1));
        }
Пример #5
0
        void paramEdit_ValueChanged(object sender, EventArgs e)
        {
            /*
             * Update parameter value when the user changes the value.
             *
             * Done this way because MS databinding is a bit weird.
             */
            BaseEdit        be = (BaseEdit)sender;
            ProcSearchParam p  = (ProcSearchParam)be.Tag;

            if (be.EditValue != null)
            {
                string s = be.EditValue.ToString().Trim();

                p.Value = (s == "") ? DBNull.Value : be.EditValue;
            }
            else
            {
                p.Value = DBNull.Value;
            }
        }
Пример #6
0
        /// <summary>
        /// Sets the default parameter search values.
        /// </summary>
        private void SetDefaultParameterValues()
        {
            IDictionaryEnumerator i;

            // Because .NET is retarted!
            i = (IDictionaryEnumerator)m_proc.Params.GetEnumerator();

            while (i.MoveNext())
            {
                string name = (string)i.Key;

                BaseEdit be       = m_paramEditors[name];
                object   defValue = null;

                if (m_hints.ContainsKey(name))
                {
                    defValue = m_hints[name];
                }
                else
                {
                    ProcSearchParam param = (ProcSearchParam)i.Value;

                    switch (param.Type.ToLower())
                    {
                    case "bit":
                        defValue = 0;
                        break;

                    default:
                        defValue = null;
                        break;
                    }
                }

                be.EditValue = defValue;
            }
        }