private void button1_Click(object sender, EventArgs e0)
        {
            bool   bReloadClass = false;
            string _classname   = "";

            if (comboBox_classlist != null && comboBox_classlist.SelectedItem != null)
            {
                _classname = comboBox_classlist.SelectedItem.ToString();

                try
                {
                    foreach (Classes c in m_classlist)
                    {
                        if (_classname == "公共教室")
                        {
                            classid = -1;
                            break;
                        }
                        if (_classname == c.name)
                        {
                            classid = c.id;
                        }
                    }
                    if (classid != Global.getClassID())
                    {
                        bReloadClass = true;
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show("教室ID参数设置错误,请重试!", "警告");
                    return;
                }
                Log.Info("Config.2 classid=" + classid);
            }


            try
            {
                hdip = textBox_hdip.Text;
                IPAddress ip;
                if (!IPAddress.TryParse(hdip, out ip))
                {
                    MessageBox.Show("采集器IP地址设置错误,请重试!", "警告");
                    return;
                }
            }
            catch (Exception e) {
                Log.Info("Config.3 " + e.Message);
            }
            Log.Info("Config.3 hdip=" + hdip);


            SetAutoRun(true);
            Global.setAutoUpdate(1);

            button_apply.Enabled = false;

            {
                string  strHDIP  = textBox_hdip.Text;
                Boolean bAutorun = autorun == 1?true:false;
                Global.saveSchoolConfig(strHDIP, bAutorun);
            }

            //TODO:如果教室ID变化,重新获取相关信息
            if (bReloadClass)
            {
                Global.saveClassConfig(classid, _classname);

                if (Global.loadClassInfo())
                {
                    MessageBox.Show("更新成功!", "提示");

                    //更新班级的接收机ID
                    Thread th = new Thread(delegate()
                    {
                        string hdid = Common.getHDID();
                        if (hdid.Length > 0)
                        {
                            Common.uploadHDBind();
                        }
                    });
                    th.Start();
                }
                else
                {
                    MessageBox.Show("设置失败,请检查网络!", "提示");
                }
            }
            button_apply.Enabled = true;
        }
Ejemplo n.º 2
0
        public static int loadSchoolInfo(int schoolid, string authcode)
        {
            int ret = 0;

            string   dir      = Application.StartupPath + "\\conf\\";
            string   filename = schoolid + ".conf";
            FileOper fo       = new FileOper(dir, filename);

            string strSchoolInfo = Common.getSchoolInfo(schoolid, authcode);

            if (strSchoolInfo.Length > 0)
            {
                SchoolInfo info = JsonOper.DeserializeJsonToObject <SchoolInfo>(strSchoolInfo);
                if (info.schoolid > 0)
                {
                    Global.saveSchoolConfig(schoolid, authcode);
                    g_szAwardType = info.awardtypelist;
                    //更新本地缓存
                    fo.WriteFile(strSchoolInfo);
                    g_SchoolInfoStr = strSchoolInfo;
                    Log.Info("Global.loadSchoolInfo() ...2-ok!");
                    Log.Debug(g_SchoolInfoStr);

                    ret = 1;
                }
            }
            else
            {
                Log.Info("getSchoolInfo error, load from conf now...");
                string data = fo.ReadFile();
                if (data.Length > 0)
                {
                    g_SchoolInfoStr = data;
                    ret             = 2;
                }

                Log.Info("Global.loadSchoolInfo() ...2-err..." + g_SchoolInfoStr);
            }

            //if (strSchoolInfo.Length > 0)
            if (ret == 1)
            {
                SchoolInfo  info        = JsonOper.DeserializeJsonToObject <SchoolInfo>(g_SchoolInfoStr);
                User[]      si          = info.teacherlist;
                List <User> teacherlist = new List <User>();
                foreach (User u in si)
                {
                    teacherlist.Add(u);
                }

                int nDel = m_db.delTeachers(m_schoolid);
                int nAdd = m_db.addUser(teacherlist);
                int a    = nDel;
                Global.setSchoolID(schoolid);
                Global.setSchoolname(info.schoolname);
                m_db.delSchool(info.schoolid);
                m_db.addSchool(info.schoolid, info.schoolname);

                g_szClasses = info.classlist;
                int nClassDel = m_db.delClassBySchoolid(m_schoolid);
                int nClassAdd = 0;
                foreach (Classes c in g_szClasses)
                {
                    nClassAdd += m_db.addClass(c);
                }
                Log.Info("Global.loadSchoolInfo() nClassDel=" + nClassDel + ", nClassAdd=" + nClassAdd);

                string coursetimes = info.coursetime;
                m_db.delCourseTime();
                m_db.addCourseTime(coursetimes);
                Log.Info("Global.loadSchoolInfo() Over.");
                g_SchoolInfoStr = strSchoolInfo;
            }
            else if (ret == 2)
            {
                Log.Info("getSchoolInfo error.");

                SchoolInfo  info        = JsonOper.DeserializeJsonToObject <SchoolInfo>(g_SchoolInfoStr);
                User[]      si          = info.teacherlist;
                List <User> teacherlist = new List <User>();
                foreach (User u in si)
                {
                    teacherlist.Add(u);
                }
                Global.setSchoolID(schoolid);
                Global.setSchoolname(info.schoolname);
                g_szClasses = info.classlist;
            }
            if (g_SchoolInfoStr.Length == 0)
            {
                return(-1);
            }
            else
            {
                return(1);
            }
        }