private void btnUpdate_Click(object sender, EventArgs e)
        {
            string test = "A+B-(C-D)+Abs(E)";

            if (FormulaC.IsValid(test))
            {
                string x = FormulaC.GetFormula(test);
            }
        }
        private bool CheckInput()
        {
            try
            {
                if (FormulaC.IsValid(txtSalF.Text.Trim()) == false)
                {
                    return(false);
                }

                string s = FormulaC.GetFormula(txtSalF.Text.Trim());
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        private bool InsertNewTemplate(ref int tmpid)
        {
            try
            {
                List <COLINFO> lRight = lbxColsRight.Items.Cast <COLINFO>().ToList();
                var            x      = lRight.SingleOrDefault(a => a.CI_NAME.IndexOf(txtNameCol.Text.Trim() + "]") == 1);
                string         s      = lRight.Where(a => a.CI_NAME.IndexOf(txtNameCol.Text.Trim() + "]") == 1).SingleOrDefault().ToString();

                //模板相关信息
                TEMPLATE_INFO ti = new TEMPLATE_INFO
                {
                    TI_NAME             = txtTempName.Text.Trim(),
                    TI_ISVALID          = true,
                    TI_COLSINORDER      = String.Join(",", lRight.Select(o => o.CI_COLNAME)),
                    TI_COLHEADERINORDER = String.Join(",", lRight.Select(o => o.CI_NAME.Substring(o.CI_NAME.IndexOf("]") + 1))),
                    TI_SALF             = FormulaC.GetFormula(txtSalF.Text.Trim()),
                    TI_SALFRAW          = txtSalF.Text.Trim(),
                    TI_ANNUCOL          = txtYearAnnu.Text.Trim(),
                    TI_VERFYFRAW        = txtVerify.Text.Trim(),
                    TI_HEARDERROW       = cbxHeaderRow.SelectedIndex + 1,
                    TI_DATAROW          = cbxDataRow.SelectedIndex + 1,

                    TI_COLSCOUNT = lbxColsRight.Items.Count,
                    TI_NAMECOL   = txtNameCol.Text.Trim(),
                    TI_BONUSCOL  = txtBonusCol.Text.Trim(),
                    TI_MONTHCOL  = txtMonthCol.Text.Trim(),
                    TI_REALCOL   = txtRealCol.Text.Trim()
                };
                if (txtVerify.Text.Trim() != string.Empty)
                {
                    ti.TI_VERFYF = FormulaC.GetFormula(txtVerify.Text.Trim());
                }
                db.TEMPLATE_INFOs.InsertOnSubmit(ti);
                db.SubmitChanges();

                tmpid = ti.TI_ID;

                //模板列信息
                int idex = 0;
                foreach (var i in lbxColsRight.Items)
                {
                    idex++;
                    //insert tmplate cols
                    COLINFO ci = (COLINFO)i;

                    TEMPLATE_COLUMN tc = new TEMPLATE_COLUMN
                    {
                        TC_CIID  = ci.CI_ID,
                        TC_TIID  = ti.TI_ID,
                        TC_ORDER = idex,
                    };
                    db.TEMPLATE_COLUMNs.InsertOnSubmit(tc);
                }

                //update agentcurrcy set tmpID to new ID


                db.SubmitChanges();
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, this.funName, MessageBoxButtons.OK);
                return(false);
            }
        }