Exemple #1
0
        private CEntityStation GenerateStationFromUI()
        {
            try
            {
                if (!AssertInputValid())
                {
                    return(null);
                }
                // 读取界面数据,并构建一个站点实体类
                CEntityStation station = new CEntityStation();
                station.StationID   = textBox_StationID.Text.Trim(); //去掉空格
                station.StationName = textBox_StationName.Text;
                station.SubCenterID = CDBDataMgr.Instance.GetSubCenterByName(cmb_SubCenter.Text).SubCenterID;
                station.StationType = CEnumHelper.UIStrToStationType(cmb_StationType.Text);
                if (!textBox_WaterBase.Text.Trim().Equals(""))
                {
                    // 设置了水位基值
                    station.DWaterBase = Decimal.Parse(textBox_WaterBase.Text.Trim());
                }
                if (!textBox_WaterChange.Text.Trim().Equals(""))
                {
                    // 设置了水位变化
                    station.DWaterChange = Decimal.Parse(textBox_WaterChange.Text.Trim());
                }
                if (!textBox_WaterMax.Text.Trim().Equals(""))
                {
                    // 设置了水位最大值
                    station.DWaterMax = Decimal.Parse(textBox_WaterMax.Text.Trim());
                }
                if (!textBox_WaterMin.Text.Trim().Equals(""))
                {
                    // 设置了水位最小值
                    station.DWaterMin = Decimal.Parse(textBox_WaterMin.Text.Trim());
                }
                if (station.StationType == EStationType.ERainFall || station.StationType == EStationType.EHydrology)
                {
                    // 雨量精度不能为空
                    try
                    {
                        station.DRainAccuracy = float.Parse(cmb_RainAccuracy.Text);
                    }
#pragma warning disable CS0168 // 声明了变量“e”,但从未使用过
                    catch (Exception e)
#pragma warning restore CS0168 // 声明了变量“e”,但从未使用过
                    {
                        station.DRainAccuracy = 0.5f;
                    }
                }
                if (!textBox_RainChange.Text.Trim().Equals(""))
                {
                    // 设置了雨量变化
                    station.DRainChange = Decimal.Parse(textBox_RainChange.Text.Trim());
                }
                if (!textBox_Voltage.Text.Trim().Equals(""))
                {
                    // 设置了电压阀值
                    station.DVoltageMin = float.Parse(textBox_Voltage.Text.Trim());
                }
                if (!textBox_GSM.Text.Trim().Equals(""))
                {
                    string gsmNum = textBox_GSM.Text.Trim();
                    //if (!CStringUtil.IsDigitStrWithSpecifyLength(gsmNum, 11))
                    //{
                    //    MessageBox.Show("GSM号码参数不合法,长度必须为11位,必须全部是数字!");
                    //    return null;
                    //}
                    if (!CStringUtil.IsDigit(gsmNum))
                    {
                        MessageBox.Show("GSM号码参数不合法,必须全部是数字!");
                        return(null);
                    }
                    // 设置了GSM号码
                    station.GSM = gsmNum;
                }
                //if (!textBox_GPRS.Text.Trim().Equals(""))
                //{
                //    //GPRS号码
                //    string gprsNum = textBox_GPRS.Text.Trim();
                //    if (!CStringUtil.IsDigit(gprsNum))
                //    {
                //        MessageBox.Show("GPRS号码参数不合法,必须全部是数字!");
                //        return null;
                //    }
                station.GPRS = textBox_GPRS.Text.Trim();
                //}

                if (!textBox_Beidou.Text.Trim().Equals(""))
                {
                    string bdNum = textBox_Beidou.Text.Trim();
                    if (!CStringUtil.IsDigit(bdNum))
                    {
                        MessageBox.Show("北斗卫星终端号码参数不合法,必须全部是数字!");
                        return(null);
                    }
                    // 北斗卫星号码
                    station.BDSatellite = bdNum;
                }


                if (!textBox_BeidouMember.Text.Trim().Equals(""))
                {
                    string bdNum = textBox_BeidouMember.Text.Trim();
                    if (!CStringUtil.IsDigit(bdNum))
                    {
                        MessageBox.Show("北斗卫星成员号码参数不合法,必须全部是数字!");
                        return(null);
                    }
                    // 北斗卫星号码
                    station.BDMemberSatellite = bdNum;
                }

                station.Maintran   = comb_MainRoad.Text;
                station.Subtran    = comb_PrepareRoad.Text;
                station.Rainsensor = comb_RainSensor.SelectedIndex.ToString();

                station.Watersensor  = comb_WaterSensor.SelectedIndex.ToString();
                station.DataProtocol = comb_DataProtocol.Text;
                //station.DRainAccuracy = float.Parse(cmb_RainAccuracy.Text.ToString());
                station.Reportinterval = comb_Paragraph.Text;
                //if (!textBox_BeidouMember.Text.Trim().Equals(""))
                //{
                //    string bdNum = textBox_BeidouMember.Text.Trim();
                //    if (!CStringUtil.IsDigit(bdNum))
                //    {
                //        MessageBox.Show("北斗卫星成员号码参数不合法,必须全部是数字!");
                //        return null;
                //    }
                //    // 北斗卫星号码
                //    station.BDMemberSatellite = bdNum;
                //}

                //if (comb_MainRoad.Text == "SX-GPRS" || comb_PrepareRoad.Text == "GPRS")
                //{
                //}
                return(station);
            }
#pragma warning disable CS0168 // 声明了变量“ex”,但从未使用过
            catch (Exception ex)
#pragma warning restore CS0168 // 声明了变量“ex”,但从未使用过
            {
                return(null);
            }
        }
Exemple #2
0
        // 检验输入是否有效
        private bool AssertInputValid()
        {
            try
            {
                // 1. stationId 不能为空, 也不能重复,只能占用四个字节
                string stationId = textBox_StationID.Text.Trim();
                if (stationId.Equals(""))
                {
                    MessageBox.Show("测站编号不能为空");
                    return(false);
                }
                // 判断测站编号是否为4位数字
                if (stationId.Length != 4)
                {
                    MessageBox.Show("请输入正确的4位测站编号");
                    return(false);
                }

                // 判断编号是否为负数
                try
                {
                    int.Parse(stationId);
                }
                catch (System.Exception)
                {
                    MessageBox.Show("站点编号不能含有非法字符");
                    return(false);
                }
                for (int i = 0; i < m_listStationCombination.Count; ++i)
                {
                    if (m_listStationCombination[i].StationID.Trim() == stationId)
                    {
                        //MessageBox.Show(string.Format("测站站号不能重复!编号 \"{0}\" 与测站 \"{1}\" 重复",
                        //    stationId, m_listStationCombination[i].StationName.Trim()));
                        MessageBox.Show(string.Format("水情测站站号不能重复!已存在水情测站{0}",
                                                      stationId));
                        return(false);
                    }
                }
                for (int i = 0; i < m_listSoilStation.Count; ++i)
                {
                    if (m_listSoilStation[i].StationID.Trim() == stationId)
                    {
                        MessageBox.Show(string.Format("水情测站站号不能与墒情测站编号一样!已存在墒情测站{0}",
                                                      stationId));
                        return(false);
                    }
                }
                if (comb_MainRoad.Text.ToString() == "SX-GPRS" || comb_PrepareRoad.Text.ToString() == "SX-GPRS" || comb_MainRoad.Text == "HD-GPRS" || comb_PrepareRoad.Text == "HD-GPRS")
                {
                    string gprs = textBox_GPRS.Text.Trim();
                    if (gprs.Equals(""))
                    {
                        MessageBox.Show("GPRS号码不能为空!");
                        return(false);
                    }
                    else
                    {
                        //GPRS号码
                        //  string gprsNum = textBox_GPRS.Text.Trim();
                        if (!CStringUtil.IsDigit(gprs))
                        {
                            MessageBox.Show("GPRS号码参数不合法,必须全部是数字!");
                            return(false);
                        }
                        else
                        {
                        }
                    }

                    for (int i = 0; i < m_listStationCombination.Count; ++i)
                    {
                        if (m_listStationCombination[i].GPRS.Trim() == gprs)
                        {
                            MessageBox.Show(string.Format("水情测站Gprs不能重复!与水情站{0} gprs号码一样 ",
                                                          m_listStationCombination[i].StationID.Trim()));
                            return(false);
                        }
                    }
                    for (int i = 0; i < m_listSoilStation.Count; ++i)
                    {
                        if (m_listSoilStation[i].GPRS.Trim() == gprs)
                        {
                            MessageBox.Show(string.Format("水情测站Gprs不能重复!与墒情站{0} gprs号码一样 ",
                                                          m_listSoilStation[i].StationID.Trim()));
                            return(false);
                        }
                    }
                }

                if (System.Text.Encoding.Default.GetByteCount(stationId) > 4)
                {
                    MessageBox.Show("测站ID字符数不能超过4个");
                    return(false);
                }

                // 2. 站名不能为空,不能超过50个字符
                if (textBox_StationName.Text.Trim().Equals(""))
                {
                    MessageBox.Show("站名不能为空");
                    return(false);
                }
                if (System.Text.Encoding.Default.GetByteCount(textBox_StationName.Text.Trim()) > 50)
                {
                    MessageBox.Show("站名不能超过50个字符");
                    return(false);
                }
                // 3. 站类不能为空
                if (cmb_StationType.Text.Equals(""))
                {
                    MessageBox.Show("站点类型不能为空");
                    return(false);
                }
                // 4. 分中心不能为空
                if (cmb_SubCenter.Text.Equals(""))
                {
                    MessageBox.Show("分中心不能为空");
                    return(false);
                }
                // 5. 雨量精度不能为空,如果是水文站或者雨量站
                EStationType type = CEnumHelper.UIStrToStationType(cmb_StationType.Text);
                if (type == EStationType.EHydrology || type == EStationType.ERainFall)
                {
                    if (cmb_RainAccuracy.Text.Equals(""))
                    {
                        MessageBox.Show("雨量精度不能为空");
                        return(false);
                    }
                }
                // 6. 水位基值合法
                if (!textBox_WaterBase.Text.Equals(""))
                {
                    try
                    {
                        Decimal.Parse(textBox_WaterBase.Text);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show("请输入正确的水位基值" + ex.Message);
                        return(false);
                    }
                }
                // 7. 水位变化合法
                if (!textBox_WaterChange.Text.Equals(""))
                {
                    try
                    {
                        if (Decimal.Parse(textBox_WaterChange.Text) < 0)
                        {
                            MessageBox.Show("水位阀值不能为负!");
                            return(false);
                        }
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show("请输入正确的水位变化值" + ex.Message);
                        return(false);
                    }
                }
                // 8. 水位最大值合法
                if (!textBox_WaterMax.Text.Equals(""))
                {
                    try
                    {
                        Decimal.Parse(textBox_WaterMax.Text);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show("请输入正确的水位最大值" + ex.Message);
                        return(false);
                    }
                }
                // 9. 水位最小值
                if (!textBox_WaterMin.Text.Equals(""))
                {
                    try
                    {
                        Decimal.Parse(textBox_WaterMin.Text);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show("请输入正确的水位最小值" + ex.Message);
                        return(false);
                    }
                }
                // 10. 雨量变化合法
                if (!textBox_RainChange.Text.Equals(""))
                {
                    try
                    {
                        if (Decimal.Parse(textBox_RainChange.Text) < 0)
                        {
                            MessageBox.Show("雨量阀值不能为负!");
                            return(false);
                        }
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show("请输入正确的雨量变化值" + ex.Message);
                        return(false);
                    }
                }

                // 11. 电压下限合法
                if (!textBox_Voltage.Text.Equals(""))
                {
                    try
                    {
                        if (float.Parse(textBox_Voltage.Text) < 0)
                        {
                            MessageBox.Show("电压阀值不能为负!");
                            return(false);
                        }
                    }
                    catch (System.Exception)
                    {
                        MessageBox.Show("请输入正确的电压阀值");
                        return(false);
                    }
                }

                return(true);

#pragma warning disable CS0168 // 声明了变量“ex”,但从未使用过
            }catch (Exception ex)
#pragma warning restore CS0168 // 声明了变量“ex”,但从未使用过
            {
                return(false);
            }
        }