Exemplo n.º 1
0
        public static CommonPara ReadCfg()
        {
            CommonPara commonPara = new CommonPara();

            if (!File.Exists(Configfile))
            {
                GenerateCfg();
            }
            DataSet xmlset = new DataSet();

            xmlset.ReadXml(Configfile);

            commonPara.StationGrade   = xmlset.Tables["Common"].Rows[0]["StationGrade"].ToString();
            commonPara.UpdateDataIntl = int.Parse(xmlset.Tables["Common"].Rows[0]["UpdateDataTime"].ToString());

            SerialPara serialPara = new SerialPara
            {
                PortName = xmlset.Tables["SerialPort"].Rows[0]["PortName"].ToString(),
                BaudRate = int.Parse(xmlset.Tables["SerialPort"].Rows[0]["BaudRate"].ToString()),
                DataBits = int.Parse(xmlset.Tables["SerialPort"].Rows[0]["DataBits"].ToString()),
                StopBits = xmlset.Tables["SerialPort"].Rows[0]["StopBits"].ToString(),
                CheckBit = xmlset.Tables["SerialPort"].Rows[0]["CheckBit"].ToString()
            };

            SqlServerPara sqlPara = new SqlServerPara
            {
                SqlIp   = xmlset.Tables["SqlServer"].Rows[0]["Ip"].ToString(),
                SqlDb   = xmlset.Tables["SqlServer"].Rows[0]["DataBase"].ToString(),
                SqlUser = xmlset.Tables["SqlServer"].Rows[0]["User"].ToString(),
                SqlPwd  = xmlset.Tables["SqlServer"].Rows[0]["Password"].ToString(),
            };
            StationPara stationParaPara = new StationPara();

            if (xmlset.Tables.Contains("StationInfo"))
            {
                stationParaPara = new StationPara
                {
                    StationId   = xmlset.Tables["StationInfo"].Rows[0]["StationId"].ToString(),
                    StationName = xmlset.Tables["StationInfo"].Rows[0]["StationName"].ToString(),
                    Slong       = xmlset.Tables["StationInfo"].Rows[0]["Slong"].ToString(),
                    Slat        = xmlset.Tables["StationInfo"].Rows[0]["Slat"].ToString(),
                };
            }

            //x List<StationPara> lstStationPara = new List<StationPara>();
            //x if (commonPara.StationGrade.Contains("省级"))
            //x {
            //x     string conn =
            //x                $"Data Source={sqlPara.SqlIp};Initial Catalog={sqlPara.SqlDb};User ID={sqlPara.SqlUser};Password={sqlPara.SqlPwd};";
            //x     RadarDataClassesDataContext radarDataContext = new RadarDataClassesDataContext(conn);
            //x     var stations = (from s in radarDataContext.StationPara
            //x                     select s).Distinct().ToList();
            //x     for (int i = 0; i < xmlset.Tables["StationInfo"].Rows.Count; i++)
            //x     {
            //x         StationPara stationPara = new StationPara
            //x         {
            //x             StationId = xmlset.Tables["StationInfo"].Rows[i]["StationId"].ToString(),
            //x             StationName = xmlset.Tables["StationInfo"].Rows[i]["StationName"].ToString(),
            //x             Slong = xmlset.Tables["StationInfo"].Rows[i]["Slong"].ToString(),
            //x             Slat = xmlset.Tables["StationInfo"].Rows[i]["Slat"].ToString(),
            //x         };
            //x         lstStationPara.Add(stationPara);
            //x     }
            //x }

            commonPara.SerialPortPara = serialPara;
            commonPara.SqlServerPara  = sqlPara;
            commonPara.StationInfo    = stationParaPara;
            //commonPara.StationList = lstStationPara;
            return(commonPara);
        }
        private void btnEnter_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dgvStationList.RowCount; i++)
            {
                if (dgvStationList[0, dgvStationList.CurrentCell.RowIndex].Value != null && dgvStationList[0, dgvStationList.CurrentCell.RowIndex].Value.ToString() != string.Empty)
                {
                    if (dgvStationList[1, dgvStationList.CurrentCell.RowIndex].Value == null || dgvStationList[1, dgvStationList.CurrentCell.RowIndex].Value.ToString() == string.Empty)
                    {
                        MessageBox.Show(@"站号必须输入", @"警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                }
            }
            try
            {
                _para = new CommonPara
                {
                    StationGrade = cmbGrade.SelectedItem.ToString(),
                    UpdateDataIntl = (int)(nUdIntl.Value),
                    SerialPortPara =
                    {
                        PortName = cmbSerialPort.SelectedItem.ToString(),
                        BaudRate = int.Parse(cmbBaudRate.SelectedItem.ToString()),
                        DataBits = int.Parse(cmbDataBits.SelectedItem.ToString()),
                        StopBits = cmbStopBit.SelectedItem.ToString(),
                        CheckBit = cmbCheckBit.SelectedItem.ToString()
                    },
                    SqlServerPara =
                    {
                        SqlIp = tbSqlIp.Text,
                        SqlDb = tbDataBase.Text,
                        SqlUser = tbUser.Text,
                        SqlPwd = tbPassword.Text
                    },
                };

                if (_para.StationGrade.Contains("台站"))
                {
                    if (dgvStationList[1, 0].Value != null && dgvStationList[1, 0].Value.ToString() != string.Empty)
                    {
                        StationPara station = new StationPara
                        {
                            StationId = dgvStationList[1, 0].Value.ToString(),
                            StationName = dgvStationList[2, 0].Value.ToString(),
                            Slong = dgvStationList[3, 0].Value.ToString(),
                            Slat = dgvStationList[4, 0].Value.ToString()
                        };
                        _para.StationInfo = station;
                    }
                    else
                    {
                        MessageBox.Show(@"请配置台站信息", @"注意", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    try
                    {
                        string conn =
                            $"Data Source={_para.SqlServerPara.SqlIp};Initial Catalog={_para.SqlServerPara.SqlDb};User ID={_para.SqlServerPara.SqlUser};Password={_para.SqlServerPara.SqlPwd};";
                        DataBaseOperate.StationParaTable stationInfo = new DataBaseOperate.StationParaTable
                        {
                            ID = Guid.NewGuid(),
                            StationID = _para.StationInfo.StationId,
                            StationName = _para.StationInfo.StationName,
                            Slong = _para.StationInfo.Slong,
                            Slat = _para.StationInfo.Slat
                        };
                        DataBaseHelper dbHelper = new DataBaseHelper(conn);
                        dbHelper.StationParaInsertorUpdate(stationInfo);
                        dbHelper.SaveChanges();
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(@"保存台站信息到远程数据库出错:" + Environment.NewLine + exception.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                Parameter.WriteCfg(_para);
                Close();
            }
            catch (Exception exception)
            {
                CommonLogHelper.GetInstance("LogError").Error(@"保存参数文件出错", exception);
                MessageBox.Show(@"保存参数文件出错", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }