void AddParameterPickBox_OnAddParameterClick(object sender, AddParameterPickBox.AddParameterEventArgs e)
 {
     if (e.IsAdd)
     {
         try
         {
             ParameterPick tempParameterPick = addParameterPickBoxList[addParameterPickBoxList.Count - 1].GetParameterPickInfo();
             addParameterPickBoxList[addParameterPickBoxList.Count - 1].Tag = tempParameterPick;
             AddParameterPickBox(null);
         }
         catch (Exception ex)
         {
             MessageBox.Show(string.Format("this parameter add infomation is illegal :{0}", ex.Message));
             return;
         }
     }
     else
     {
         if (addParameterPickBoxList.Contains(sender) || this.Controls.Contains((Control)sender))
         {
             this.Controls.Remove((Control)sender);
             addParameterPickBoxList.Remove((AddParameterPickBox)sender);
             ResizeParameterPickBoxList();
             if (addParameterPickBoxList.Count == 0)
             {
                 pb_add.Visible = true;
             }
         }
         else
         {
             MessageBox.Show("Fial to remove this item", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
         }
     }
 }
        private void bt_ok_Click(object sender, EventArgs e)
        {
            List <ParameterPick> setParameterPickList = new List <ParameterPick>();

            foreach (var tempItem in addParameterPickBoxList)
            {
                if (tempItem.Tag != null && tempItem.Tag is ParameterPick)
                {
                    setParameterPickList.Add((ParameterPick)tempItem.Tag);
                }
                else
                {
                    try
                    {
                        ParameterPick tempParameterPick = tempItem.GetParameterPickInfo();
                        tempItem.Tag = tempParameterPick;
                        setParameterPickList.Add(tempParameterPick);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(string.Format("this parameter add infomation is illegal :{0}", ex.Message));
                        return;
                    }
                }
            }
            if (SetParameterPickAction != null)
            {
                SetParameterPickAction(setParameterPickList);
            }
            this.Close();
        }
 public AddParameterPickBox(ParameterPick yourParameterPick)
 {
     InitializeComponent();
     tb_ParameterName.Text         = yourParameterPick.ParameterName;
     tb_ParameterExpression.Text   = yourParameterPick.PickTypeExpression;
     cb_ParameterType.Text         = yourParameterPick.PickType.ToString();
     cb_ParameterTypeAddition.Text = yourParameterPick.PickTypeAdditional.ToString();
     cb_pickRange.Text             = yourParameterPick.PickRange.ToString();
 }
        private void AddParameterPickBox(ParameterPick yourParameterPick)
        {
            AddParameterPickBox tempAddParameterPickBox;

            if (yourParameterPick == null)
            {
                tempAddParameterPickBox = new AddParameterPickBox();
            }
            else
            {
                tempAddParameterPickBox     = new AddParameterPickBox(yourParameterPick);
                tempAddParameterPickBox.Tag = yourParameterPick;
            }
            tempAddParameterPickBox.OnAddParameterClick += AddParameterPickBox_OnAddParameterClick;
            AddAddParameterPickBox(tempAddParameterPickBox);
        }
        public ParameterPick GetParameterPickInfo()
        {
            Action <Control, string> MyThrowException = (myControl, errorMes) => {
                FreeHttpWindow.MarkWarnControl(myControl);
                this.errorProvider_addParameter.SetIconAlignment(myControl, ErrorIconAlignment.MiddleRight);
                this.errorProvider_addParameter.SetIconPadding(myControl, -20);
                this.errorProvider_addParameter.SetError(myControl, errorMes);
                myControl.Select();
                myControl.Focus();
                throw new Exception(errorMes);
            };

            this.errorProvider_addParameter.Clear();
            ParameterPick     returnParameterPick = new ParameterPick();
            ParameterPickType tempParameterPickType;

            if (string.IsNullOrEmpty(tb_ParameterName.Text))
            {
                MyThrowException(tb_ParameterName, "your ParameterName is empty");
            }
            returnParameterPick.ParameterName = tb_ParameterName.Text;
            returnParameterPick.PickRange     = (ParameterPickRange)Enum.Parse(typeof(ParameterPickRange), cb_pickRange.Text);
            if (!Enum.TryParse <ParameterPickType>(cb_ParameterType.Text, out tempParameterPickType))
            {
                MyThrowException(cb_ParameterType, "ParameterPickType Error");
            }
            returnParameterPick.PickType           = tempParameterPickType;
            returnParameterPick.PickTypeAdditional = cb_ParameterTypeAddition.Text;
            returnParameterPick.PickTypeExpression = tb_ParameterExpression.Text;
            string tempError = ParameterPickHelper.CheckParameterPickExpression(returnParameterPick);

            if (tempError != null)
            {
                if (tempError.Contains("PickTypeAdditional"))
                {
                    MyThrowException(cb_ParameterTypeAddition, tempError);
                }
                else
                {
                    MyThrowException(tb_ParameterExpression, tempError);
                }
            }
            return(returnParameterPick);
        }
Exemple #6
0
        public static T Get <T>(
            this IQueryCollection collection,
            string key,
            T defaultValue,
            ParameterPick option = ParameterPick.First)
        {
            var values = All <T>(collection, key);
            var value  = defaultValue;

            if (values.Any())
            {
                if (option == ParameterPick.First)
                {
                    value = values.FirstOrDefault();
                }
                else if (option == ParameterPick.Last)
                {
                    value = values.LastOrDefault();
                }
            }

            return(value);
        }