Пример #1
0
        public bool Update(MODELWATERMETERTYPE MODELWATERMETERTYPE)
        {
            StringBuilder str = new StringBuilder();

            str.Append("UPDATE dbo.waterMeterType SET waterMeterTypeValue=@waterMeterTypeValue,trapezoidPrice=@trapezoidPrice,extraCharge=@extraCharge,MEMO=@MEMO," +
                       "overDuechargeEnable=@overDuechargeEnable,overDuechargeStartMonth=@overDuechargeStartMonth," +
                       "overDuechargeStartDay=@overDuechargeStartDay,overDuechargePercent=@overDuechargePercent,WATERMETERTYPECLASSID=@WATERMETERTYPECLASSID ");
            str.Append("WHERE waterMeterTypeId=@waterMeterTypeId");
            SqlParameter[] para =
            {
                new SqlParameter("@waterMeterTypeValue",     SqlDbType.VarChar,  50),
                new SqlParameter("@trapezoidPrice",          SqlDbType.VarChar, 300),
                new SqlParameter("@extraCharge",             SqlDbType.VarChar, 300),
                new SqlParameter("@MEMO",                    SqlDbType.VarChar, 200),
                new SqlParameter("@overDuechargeEnable",     SqlDbType.VarChar,  10),
                new SqlParameter("@overDuechargeStartMonth", SqlDbType.Int),
                new SqlParameter("@overDuechargeStartDay",   SqlDbType.Int),
                new SqlParameter("@overDuechargePercent",    SqlDbType.Float),
                new SqlParameter("@WATERMETERTYPECLASSID",   SqlDbType.VarChar,  50),
                new SqlParameter("@waterMeterTypeId",        SqlDbType.VarChar, 30)
            };
            para[0].Value = MODELWATERMETERTYPE.waterMeterTypeValue;
            para[1].Value = MODELWATERMETERTYPE.trapezoidPrice;
            para[2].Value = MODELWATERMETERTYPE.extraCharge;
            para[3].Value = MODELWATERMETERTYPE.MEMO;
            para[4].Value = MODELWATERMETERTYPE.overDuechargeEnable;
            para[5].Value = MODELWATERMETERTYPE.overDuechargeStartMonth;
            para[6].Value = MODELWATERMETERTYPE.overDuechargeStartDay;
            para[7].Value = MODELWATERMETERTYPE.overDuechargePercent;
            para[8].Value = MODELWATERMETERTYPE.WATERMETERTYPECLASSID;
            para[9].Value = MODELWATERMETERTYPE.waterMeterTypeId;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #2
0
        public bool Insert(MODELWATERMETERTYPE MODELWATERMETERTYPE)
        {
            StringBuilder str = new StringBuilder();

            str.Append("INSERT INTO dbo.waterMeterType(waterMeterTypeId,waterMeterTypeValue,trapezoidPrice,extraCharge,MEMO," +
                       "overDuechargeEnable,overDuechargeStartMonth,overDuechargeStartDay,overDuechargePercent,WATERMETERTYPECLASSID) ");
            str.Append("VALUES(@waterMeterTypeId,@waterMeterTypeValue,@trapezoidPrice,@extraCharge,@MEMO," +
                       "@overDuechargeEnable,@overDuechargeStartMonth,@overDuechargeStartDay,@overDuechargePercent,@WATERMETERTYPECLASSID)");
            SqlParameter[] para =
            {
                new SqlParameter("@waterMeterTypeId",        SqlDbType.VarChar,  30),
                new SqlParameter("@waterMeterTypeValue",     SqlDbType.VarChar,  50),
                new SqlParameter("@trapezoidPrice",          SqlDbType.VarChar, 300),
                new SqlParameter("@extraCharge",             SqlDbType.VarChar, 300),
                new SqlParameter("@MEMO",                    SqlDbType.VarChar, 200),
                new SqlParameter("@overDuechargeEnable",     SqlDbType.VarChar,  10),
                new SqlParameter("@overDuechargeStartMonth", SqlDbType.Int),
                new SqlParameter("@overDuechargeStartDay",   SqlDbType.Int),
                new SqlParameter("@overDuechargePercent",    SqlDbType.Float),
                new SqlParameter("@WATERMETERTYPECLASSID",   SqlDbType.VarChar, 30)
            };
            para[0].Value = MODELWATERMETERTYPE.waterMeterTypeId;
            para[1].Value = MODELWATERMETERTYPE.waterMeterTypeValue;
            para[2].Value = MODELWATERMETERTYPE.trapezoidPrice;
            para[3].Value = MODELWATERMETERTYPE.extraCharge;
            para[4].Value = MODELWATERMETERTYPE.MEMO;
            para[5].Value = MODELWATERMETERTYPE.overDuechargeEnable;
            para[6].Value = MODELWATERMETERTYPE.overDuechargeStartMonth;
            para[7].Value = MODELWATERMETERTYPE.overDuechargeStartDay;
            para[8].Value = MODELWATERMETERTYPE.overDuechargePercent;
            para[9].Value = MODELWATERMETERTYPE.WATERMETERTYPECLASSID;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        private void toolSave_Click(object sender, EventArgs e)
        {
            if (txtName.Text.Trim() == "")
            {
                mes.Show("性质名称不能为空!");
                txtName.Focus();
                return;
            }
            if (dgTrapezoidPrice.Rows.Count == 0)
            {
                mes.Show("请添加阶梯水价!");
                dgTrapezoidPrice.Focus();
                return;
            }
            if (cmbWaterMeterTypeClass.SelectedValue == null || cmbWaterMeterTypeClass.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择用水性质分类!");
                cmbWaterMeterTypeClass.Focus();
                return;
            }

            #region 阶梯水价验证
            dgTrapezoidPrice.EndEdit();
            for (int i = 0; i < dgTrapezoidPrice.Rows.Count; i++)
            {
                object objL = dgTrapezoidPrice.Rows[i].Cells["lowNumber"].Value;
                if (objL == null || objL == DBNull.Value)
                {
                    mes.Show("请输入第 " + (i + 1).ToString() + " 行的阶梯下限!");
                    dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["lowNumber"];
                    return;
                }
                object objT = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"].Value;
                if (objT == null || objT == DBNull.Value)
                {
                    mes.Show("请输入第 " + (i + 1).ToString() + " 行的阶梯单价!");
                    dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"];
                    return;
                }
                else
                {
                    dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"].Value = Convert.ToDecimal(objT);
                    if (Convert.ToDecimal(objT) <= 0)
                    {
                        if (mes.ShowQ("请第 " + (i + 1).ToString() + " 行的阶梯单价为0,确定保存吗?") != DialogResult.OK)
                        {
                            dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"];
                            return;
                        }
                    }
                }

                if (!Information.IsNumeric(objL))
                {
                    mes.Show("第 " + (i + 1).ToString() + " 行的阶梯下限只能为整数!");
                    dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["lowNumber"];
                    return;
                }

                object objH = dgTrapezoidPrice.Rows[i].Cells["highNumber"].Value;
                if (objH == null || objH == DBNull.Value)
                {
                    mes.Show("请输入第 " + (i + 1).ToString() + " 行的阶梯下限!");
                    dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["highNumber"];
                    return;
                }
                if (!Information.IsNumeric(objH))
                {
                    mes.Show("第 " + (i + 1).ToString() + " 行的阶梯上限只能为整数!");
                    dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["highNumber"];
                    return;
                }
                if (Convert.ToDecimal(objL) >= Convert.ToDecimal(objH))
                {
                    mes.Show("第 " + (i + 1).ToString() + " 行的阶梯上限应大于阶梯下限!");
                    dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["highNumber"];
                    return;
                }
                if (i > 0)
                {
                    object objH1 = dgTrapezoidPrice.Rows[i - 1].Cells["highNumber"].Value;
                    object objL2 = dgTrapezoidPrice.Rows[i].Cells["lowNumber"].Value;
                    if (Convert.ToDecimal(objL2) != Convert.ToDecimal(objH1))
                    {
                        mes.Show("第 " + (i + 1).ToString() + " 行的阶梯下限应等于上一行的阶梯上限!");
                        dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["lowNumber"];
                        return;
                    }
                }
            }
            #endregion

            #region 附加费验证
            foreach (Control conE in grpDetail.Controls)
            {
                if (conE is CheckBox && conE.Name.Contains("chkExtraCharge"))
                {
                    CheckBox chkE = (CheckBox)conE;
                    if (chkE.Checked)
                    {
                        foreach (Control con in grpDetail.Controls)
                        {
                            if (con is TextBox)
                            {
                                TextBox txt = (TextBox)con;
                                if (txt.Name == "txtExtraCharge" + chkE.Name.Substring(14, 1))//chkExtraCharge1
                                {
                                    if (txt.Text.Trim() == "")
                                    {
                                        mes.Show("请填写附加费单价!");
                                        txt.Focus();
                                        return;
                                    }
                                    if (txt.Text.Trim() == "0")
                                    {
                                        mes.Show("附加费单价只能大于0!");
                                        txt.Focus();
                                        return;
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            #endregion

            #region 滞纳金验证
            if (chkIsEnable.Checked)
            {
                if (txtStartMonth.Text.Trim() == "")
                {
                    mes.Show("请输入开始月份!");
                    txtStartMonth.Focus();
                    return;
                }
                else
                {
                    if (!Information.IsNumeric(txtStartMonth.Text.Trim()))
                    {
                        mes.Show("开始月份只能为整数!");
                        txtStartMonth.Focus();
                        return;
                    }
                }
                if (txtStartDay.Text.Trim() == "")
                {
                    mes.Show("请输入开始日期!");
                    txtStartDay.Focus();
                    return;
                }
                else
                {
                    if (!Information.IsNumeric(txtStartDay.Text.Trim()))
                    {
                        mes.Show("开始日期只能为整数!");
                        txtStartDay.Focus();
                        return;
                    }
                }
                if (txtPercent.Text.Trim() == "")
                {
                    mes.Show("请输入滞纳金比率!");
                    txtPercent.Focus();
                    return;
                }
                else
                {
                    if (!Information.IsNumeric(txtPercent.Text.Trim()))
                    {
                        mes.Show("滞纳金比率只能为数字!");
                        txtPercent.Focus();
                        return;
                    }
                    if (Convert.ToDecimal(txtPercent.Text) <= 0)
                    {
                        mes.Show("滞纳金比率只能大于0!");
                        txtPercent.Focus();
                        return;
                    }
                }
            }
            #endregion

            MODELWATERMETERTYPE MODELWATERMETERTYPE = new MODELWATERMETERTYPE();
            MODELWATERMETERTYPE.waterMeterTypeValue   = txtName.Text;
            MODELWATERMETERTYPE.WATERMETERTYPECLASSID = cmbWaterMeterTypeClass.SelectedValue.ToString();
            string strTrapezoid = string.Empty;
            for (int i = 0; i < dgTrapezoidPrice.Rows.Count; i++)
            {
                if (i > 0)
                {
                    strTrapezoid += "|";
                }
                object objL = dgTrapezoidPrice.Rows[i].Cells["lowNumber"].Value;
                object objH = dgTrapezoidPrice.Rows[i].Cells["highNumber"].Value;
                object objT = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"].Value;
                strTrapezoid += objL.ToString() + "-" + objH.ToString() + ":" + objT.ToString();
            }
            MODELWATERMETERTYPE.trapezoidPrice = strTrapezoid;

            string strExtraCharge = string.Empty;
            int    intSelectedExtraChargeCount = 0;//存储选择的附加费数量,判断是否加‘|’。
            for (int i = 1; i <= 8; i++)
            {
                foreach (Control con in grpDetail.Controls)
                {
                    if (con is CheckBox)
                    {
                        CheckBox chk = (CheckBox)con;
                        if (chk.Name == "chkExtraCharge" + i.ToString())
                        {
                            if (chk.Checked)
                            {
                                if (intSelectedExtraChargeCount > 0)
                                {
                                    strExtraCharge += "|";
                                }
                                foreach (Control conT in grpDetail.Controls)
                                {
                                    if (conT is TextBox)
                                    {
                                        TextBox txt = (TextBox)conT;
                                        if (txt.Name == "txtExtraCharge" + i.ToString())
                                        {
                                            intSelectedExtraChargeCount++;
                                            strExtraCharge += "F" + i.ToString() + ":" + Convert.ToDecimal(txt.Text);
                                            break;
                                        }
                                    }
                                }
                                foreach (Control conChk in grpDetail.Controls)
                                {
                                    if (conChk is CheckBox)
                                    {
                                        CheckBox chkByCharge = (CheckBox)conChk;
                                        if (chkByCharge.Name == "chkByMoney" + i.ToString())
                                        {
                                            if (!chkByCharge.Checked)
                                            {
                                                strExtraCharge += ":1";
                                            }
                                            else
                                            {
                                                strExtraCharge += ":2";
                                            }
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    }
                }
            }

            MODELWATERMETERTYPE.extraCharge = strExtraCharge;

            if (chkIsEnable.Checked)
            {
                MODELWATERMETERTYPE.overDuechargeEnable     = "1";
                MODELWATERMETERTYPE.overDuechargeStartMonth = Convert.ToInt32(txtStartMonth.Text);
                MODELWATERMETERTYPE.overDuechargeStartDay   = Convert.ToInt32(txtStartDay.Text);
                MODELWATERMETERTYPE.overDuechargePercent    = Convert.ToDecimal(txtPercent.Text);
            }
            else
            {
                MODELWATERMETERTYPE.overDuechargeEnable = "0";
            }

            MODELWATERMETERTYPE.MEMO = txtMemo.Text;

            if (isAdd)
            {
                MODELWATERMETERTYPE.waterMeterTypeId = GETTABLEID.GetTableID("", "WATERMETERTYPE");
                if (BLLWATERMETERTYPE.Insert(MODELWATERMETERTYPE))
                {
                    Query();
                }
                else
                {
                    mes.Show("添加失败,请重新点击保存按钮!");
                    return;
                }
            }
            else
            {
                if (txtID.Text.Trim() == "")
                {
                    mes.Show("如果要执行添加操作,请先点击添加按钮后再保存!");
                    return;
                }
                MODELWATERMETERTYPE.waterMeterTypeId = txtID.Text;
                if (BLLWATERMETERTYPE.Update(MODELWATERMETERTYPE))
                {
                    Query();
                    dgList.ClearSelection();
                    for (int i = 0; i < dgList.Rows.Count; i++)
                    {
                        if (dgList.Rows[i].Cells["waterMeterTypeId"].Value != null && dgList.CurrentRow.Cells["waterMeterTypeId"].Value != DBNull.Value)
                        {
                            string strID = dgList.Rows[i].Cells["waterMeterTypeId"].Value.ToString();
                            if (MODELWATERMETERTYPE.waterMeterTypeId == strID)
                            {
                                dgList.CurrentCell = dgList.Rows[i].Cells["waterMeterTypeValue"];
                                dgList_SelectionChanged(null, null);
                            }
                        }
                    }
                }
                else
                {
                    mes.Show("修改失败,请重新点击保存按钮!");
                    return;
                }
            }
            dgList.Enabled  = true;
            toolDel.Enabled = true;
            toolAdd.Text    = "添加";
            isAdd           = false;
        }