Пример #1
0
        private void tvKnowlTree_AfterSelect(object sender, TreeViewEventArgs e)
        {
            this.CurSelKnol = (KnowledgePoint)this.tvKnowlTree.SelectedNode.Tag;
            //MessageBox.Show("AfterSelect" + this.CurrentSelKnol.Name);

            this.initProblem();
        }
Пример #2
0
        /// <summary>
        ///  叶子节点深度递归,一直传参过来的都是叶子节点啊说
        /// </summary>
        private void RecursionNode(TreeNode treeNode)
        {
            //首先判断是否为叶子节点
            //if (treeNode.Nodes.Count > 0)//有叶子节点,就去遍历叶子节点
            //{
            //    foreach (TreeNode node in treeNode.Nodes)
            //    {
            //        this.RecursionNode(node);
            //    }
            //}
            //else//本身就是叶子节点,查看当前叶子节点是否存在孩子节点
            {
                KnowledgePoint        KnowledgePointItem = (KnowledgePoint)treeNode.Tag;
                List <KnowledgePoint> KnowlListChild     = this.IKnowltAndProblemFormReq.QuerySingleKnowlBySuperID(KnowledgePointItem.Id);

                if (KnowlListChild.Count > 0)
                {
                    foreach (KnowledgePoint KnowledgePoint in KnowlListChild)
                    {
                        treeNode.Nodes.Add(KnowledgePoint.Name).Tag = KnowledgePoint;
                    }
                    //为叶子节点添加孩子节点后,查看孩子节点是否有孙子节点
                    foreach (TreeNode node in treeNode.Nodes)
                    {
                        this.RecursionNode(node);
                    }
                }
            }
        }
        public List <KnowledgePoint> QueryConnectKnowlBySuperID(string upperID, string courseID)
        {
            List <KnowledgePoint> KnowlList = new List <KnowledgePoint>();
            //连接查询
            //string cmdText = "SELECT knowledge_point.id,knowledge_point.`name`,knowledge_point.uk_upper_knowledge_point_id FROM knowledge_point WHERE knowledge_point.uk_upper_knowledge_point_id = @upperID;";
            //string querySQL = "SELECT knowledge_point.id,knowledge_point.`name`,knowledge_point.other,knowledge_point.uk_upper_knowledge_point_id FROM course_spread_knowledge_point INNER JOIN knowledge_point ON course_spread_knowledge_point.uk_knowledge_point_id = knowledge_point.id WHERE knowledge_point.uk_upper_knowledge_point_id = @upperID;";
            string          querySQL        = "SELECT knowledge_point.id,knowledge_point.`name`,knowledge_point.other,knowledge_point.uk_upper_knowledge_point_id FROM course_spread_knowledge_point INNER JOIN knowledge_point ON course_spread_knowledge_point.uk_knowledge_point_id = knowledge_point.id WHERE knowledge_point.uk_upper_knowledge_point_id = @upperID AND course_spread_knowledge_point.uk_course_id = @courseId;";
            MySqlDataReader mySqlDataReader = Model.MySqlHelper.ExecuteReader(
                Model.MySqlHelper.Conn, CommandType.Text, querySQL,
                new MySqlParameter("@upperID", upperID),
                new MySqlParameter("@courseId", courseID));

            while (mySqlDataReader.Read())
            {
                KnowledgePoint KnowledgePoint = new KnowledgePoint();
                KnowledgePoint.Id           = mySqlDataReader.IsDBNull(0) ? "" : mySqlDataReader.GetString(0);
                KnowledgePoint.Name         = mySqlDataReader.IsDBNull(1) ? "" : mySqlDataReader.GetString(1);
                KnowledgePoint.Other        = mySqlDataReader.IsDBNull(2) ? "" : mySqlDataReader.GetString(2);
                KnowledgePoint.UpperKnowlId = mySqlDataReader.IsDBNull(3) ? "" : mySqlDataReader.GetString(3);
                KnowlList.Add(KnowledgePoint);
            }
            mySqlDataReader.Close();

            return(KnowlList);
        }
Пример #4
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            KnowledgePoint knowl = new KnowledgePoint();

            knowl.Id     = Guid.NewGuid().ToString("N");
            knowl.Create = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            knowl.Modify = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            knowl.Name   = this.tbKnowlName.Text.Trim();
            knowl.Other  = this.rtbOther.Text;
            if (this.rbRoot.Checked)
            {
                knowl.UpperKnowlId = "root";
            }
            if (this.rbNotRoot.Checked)
            {
                knowl.UpperKnowlId = this.CurrentSelKnowl.Id;
            }

            CourseSpreadKnowl courseSpreadKnowl = new CourseSpreadKnowl();

            courseSpreadKnowl.Id       = Guid.NewGuid().ToString("N");
            courseSpreadKnowl.Create   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            courseSpreadKnowl.Modify   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            courseSpreadKnowl.KnowlId  = knowl.Id;
            courseSpreadKnowl.CourseId = this.courseId;
            this.addKnowlPoint(knowl, courseSpreadKnowl);

            this.Close();
        }
Пример #5
0
        public KnowledgePointEidtForm(UpdateKnowlPoint updateKnowlPoint, KnowledgePoint CurrentSelKnol)
        {
            InitializeComponent();
            this.updateKnowlPoint = updateKnowlPoint;
            this.CurrentSelKnol   = CurrentSelKnol;

            this.tbKnowlName.Text = this.CurrentSelKnol.Name;
            this.rtbOther.Text    = this.CurrentSelKnol.Other;
        }
Пример #6
0
        public bool SaveKnowledgePoint(KnowledgePoint knowledge)
        {
            KnowledgePoint knowledgePoint = _myDbContext.KnowledgePoint.FirstOrDefault(c => c.Id == knowledge.Id);

            if (knowledgePoint == null)
            {
                return(false);
            }
            knowledgePoint.KnowledgePointName = knowledge.KnowledgePointName;
            _myDbContext.SaveChanges();
            return(true);
        }
Пример #7
0
        public bool DeleteKnowledgePoint(int id)
        {
            KnowledgePoint knowledgePoint = _myDbContext.KnowledgePoint.FirstOrDefault(c => c.Id == id);

            if (knowledgePoint == null)
            {
                return(false);
            }
            _myDbContext.KnowledgePoint.Remove(knowledgePoint);
            _myDbContext.SaveChanges();
            return(true);
        }
        public void UpdateOneKnowl(KnowledgePoint knowlPoint)
        {
            string          updateSql       = "UPDATE knowledge_point SET knowledge_point.utc8_modify = @modify,knowledge_point.other = @other,knowledge_point.`name` = @name WHERE knowledge_point.id = @id;";
            MySqlConnection mySqlConnection = new MySqlConnection(Model.MySqlHelper.Conn);

            mySqlConnection.Open();
            Model.MySqlHelper.ExecuteNonQuery(mySqlConnection, CommandType.Text, updateSql,
                                              new MySqlParameter("@modify", knowlPoint.Modify),
                                              new MySqlParameter("@other", knowlPoint.Other),
                                              new MySqlParameter("@name", knowlPoint.Name),
                                              new MySqlParameter("@id", knowlPoint.Id));
            mySqlConnection.Close();
        }
Пример #9
0
        /// <summary>
        ///  叶子节点深度递归,一直传参过来的都是叶子节点啊说
        /// </summary>
        private void RecursionNode(TreeNode treeNode)
        {
            //首先判断是否为叶子节点
            //if (treeNode.Nodes.Count > 0)//有叶子节点,就去遍历叶子节点
            //{
            //    foreach (TreeNode node in treeNode.Nodes)
            //    {
            //        this.RecursionNode(node);
            //    }
            //}
            //else//本身就是叶子节点,查看当前叶子节点是否存在孩子节点
            {
                KnowledgePoint        KnowledgePointItem = (KnowledgePoint)treeNode.Tag;
                List <KnowledgePoint> KnowlListChild     = this.IKnowltAndProblemFormReq.QuerySingleKnowlBySuperID(KnowledgePointItem.Id);

                if (KnowlListChild.Count > 0)
                {
                    foreach (KnowledgePoint KnowledgePoint in KnowlListChild)
                    {
                        TreeNode treeNodeChild = treeNode.Nodes.Add(KnowledgePoint.Name);
                        treeNodeChild.Tag = KnowledgePoint;

                        if (this.currentSelKnowlID != null)
                        {
                            if (KnowledgePoint.Id.Equals(this.currentSelKnowlID))
                            {
                                treeNodeChild.Checked  = true;
                                this.currentSelKnowlID = null;
                            }
                        }
                        if (this.checkIDs.Count > 0)
                        {
                            foreach (string id in this.checkIDs)
                            {
                                if (KnowledgePoint.Id.Equals(id))
                                {
                                    treeNodeChild.Checked = true;
                                    this.checkIDs.Remove(id);
                                    break;
                                }
                            }
                        }
                    }
                    //为叶子节点添加孩子节点后,查看孩子节点是否有孙子节点
                    foreach (TreeNode node in treeNode.Nodes)
                    {
                        this.RecursionNode(node);
                    }
                }
            }
        }
Пример #10
0
        public KnowledgePointForm(string courseId, AddKnowlPoint addKnowlPoint, KnowledgePoint CurrentSelKnowl)
        {
            InitializeComponent();
            this.CurrentSelKnowl = CurrentSelKnowl;
            this.addKnowlPoint   = addKnowlPoint;
            this.courseId        = courseId;

            //如果没有上层知识点,就只能是根节点了
            if (this.CurrentSelKnowl == null)
            {
                this.rbNotRoot.Hide();
                this.rbNotRoot.Checked = false;
                this.rbRoot.Checked    = true;
            }
        }
Пример #11
0
        private void tvKnowl_AfterCheck(object sender, TreeViewEventArgs e)
        {
            TreeNode       node = e.Node;
            KnowledgePoint KnowledgePointItem = (KnowledgePoint)node.Tag;

            if (node.Checked == false)
            {
                this.checkIDs.Remove(KnowledgePointItem.Id);
            }
            else
            {
                this.checkIDs.Add(KnowledgePointItem.Id);
            }
            //MessageBox.Show("" + this.checkIDs.Count);
        }
        //注意本次添加应该是一个事务,对两个表进行添加操作才对。
        public void InsertOneKnowl(KnowledgePoint knowlPoint, CourseSpreadKnowl courseSpreadKnowl)
        {
            MySqlConnection mySqlConnection = new MySqlConnection(Model.MySqlHelper.Conn);

            mySqlConnection.Open();
            MySqlTransaction mySqlTransaction          = mySqlConnection.BeginTransaction();
            string           insertSql_knowledge_point = "INSERT INTO knowledge_point(knowledge_point.id,knowledge_point.utc8_create,knowledge_point.utc8_modify,knowledge_point.other,knowledge_point.`name`,knowledge_point.uk_upper_knowledge_point_id) VALUES (@id,@create,@modife,@other,@name,@upperId);";
            string           insertSql_course_spread_knowledge_point = "INSERT INTO course_spread_knowledge_point(course_spread_knowledge_point.id,course_spread_knowledge_point.utc8_create,course_spread_knowledge_point.utc8_modify,course_spread_knowledge_point.other,course_spread_knowledge_point.uk_knowledge_point_id,course_spread_knowledge_point.uk_course_id)VALUES(@id,@create,@modife,@other,@knowlId,@courseId);";

            try
            {
                Model.MySqlHelper.ExecuteNonQuery(mySqlConnection, CommandType.Text, insertSql_knowledge_point,
                                                  new MySqlParameter("@id", knowlPoint.Id),
                                                  new MySqlParameter("@create", knowlPoint.Create),
                                                  new MySqlParameter("@modife", knowlPoint.Modify),
                                                  new MySqlParameter("@other", knowlPoint.Other),
                                                  new MySqlParameter("@name", knowlPoint.Name),
                                                  new MySqlParameter("@upperId", knowlPoint.UpperKnowlId));

                Model.MySqlHelper.ExecuteNonQuery(mySqlConnection, CommandType.Text, insertSql_course_spread_knowledge_point,
                                                  new MySqlParameter("@id", courseSpreadKnowl.Id),
                                                  new MySqlParameter("@create", courseSpreadKnowl.Create),
                                                  new MySqlParameter("@modife", courseSpreadKnowl.Modify),
                                                  new MySqlParameter("@other", courseSpreadKnowl.Other),
                                                  new MySqlParameter("@knowlId", courseSpreadKnowl.KnowlId),
                                                  new MySqlParameter("@courseId", courseSpreadKnowl.CourseId));
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.ToString());
                mySqlTransaction.Rollback();
                mySqlConnection.Close();
                MessageBox.Show("操作失败,操作已回滚。");
            }
            finally
            {
                Console.WriteLine("操作成功,状态:" + mySqlConnection.State);
                if (mySqlConnection.State != ConnectionState.Closed)
                {
                    mySqlTransaction.Commit();
                    mySqlConnection.Close();
                }
            }
        }
Пример #13
0
 private void UpdateKnowlPoint(KnowledgePoint knowlPoint)
 {
     this.IKnowltAndProblemFormReq.UpdateOneKnowl(knowlPoint);
     this.initData();
 }
Пример #14
0
 //===============委托们
 private void AddKnowlPoint(KnowledgePoint knowlPoint, CourseSpreadKnowl courseSpreadKnowl)
 {
     this.IKnowltAndProblemFormReq.InsertOneKnowl(knowlPoint, courseSpreadKnowl);
     this.initData();
 }
        /// <summary>
        /// 下载同步数据。
        /// </summary>
        /// <param name="teacherID"></param>
        /// <param name="complete"></param>
        public void TeaDownSync(string teacherID, EventHandler complete)
        {
            lock (this)
            {
                this.RaiseChanged("【准备下载同步数据...】");
                try
                {
                    this.RaiseChanged("【开始下载同步数据...】");
                    this.poxy.BeginDownloadTeaSyncData(teacherID, new AsyncCallback(delegate(IAsyncResult callback)
                    {
                        this.RaiseChanged("【正在下载同步数据,请稍候...】");
                        Impl.GeneralCallResultOfTeaSyncData result = this.poxy.EndDownloadTeaSyncData(callback);
                        if (result != null)
                        {
                            this.RaiseChanged("【下载同步数据完成,开始分析数据...】");
                            if (result.ResultCode == 0 && result.Data != null)
                            {
                                this.RaiseChanged("【开始装载数据...】");
                                TeaSyncData sync = new TeaSyncData();
                                sync.Time = DateTime.Now;
                                #region 同步学校信息。
                                Impl.School school = result.Data.School;
                                if (school != null)
                                {
                                    sync.School.SchoolID = school.SchoolID;
                                    sync.School.SchoolCode = school.SchoolCode;
                                    sync.School.SchoolName = school.SchoolName;
                                    sync.School.SchoolType = (EnumSchoolType)((int)school.SchoolType);
                                    this.RaiseChanged("【已装载学校数据:" + sync.School + "】");

                                    #region 同步教师信息。
                                    Impl.Teacher teacher = school.Teacher;
                                    if (teacher != null)
                                    {
                                        sync.School.Teacher.TeacherID = teacher.TeacherID;
                                        sync.School.Teacher.TeacherCode = teacher.TeacherCode;
                                        sync.School.Teacher.TeacherName = teacher.TeacherName;
                                        #region 同步年级。
                                        Impl.Grade[] grades = teacher.Grades;
                                        if (grades != null && grades.Length > 0)
                                        {
                                            foreach (Impl.Grade grade in grades)
                                            {
                                                this.RaiseChanged(string.Format("【开始装载年级数据[{0}]..】", grade.GradeName));
                                                Grade g = new Grade();
                                                g.GradeID = grade.GradeID;
                                                g.GradeCode = grade.GradeCode;
                                                g.GradeName = grade.GradeName;
                                                g.OrderNO = grade.OrderNO;

                                                #region 客观评价。
                                                Impl.Evaluate evaluate = grade.Evaluate;
                                                if (evaluate != null)
                                                {
                                                    this.RaiseChanged(string.Format("【开始装载年级[{0}]下客观评价[{1}]数据..】", grade.GradeName, evaluate.EvaluateName));
                                                    g.Evaluate.EvaluateID = evaluate.EvaluateID;
                                                    g.Evaluate.EvaluateName = evaluate.EvaluateName;
                                                    g.Evaluate.Type = (EnumEvaluateType)((int)evaluate.Type);
                                                    g.Evaluate.MinValue = evaluate.MinValue;
                                                    g.Evaluate.MaxValue = evaluate.MaxValue;

                                                    Impl.EvaluateItem[] items = evaluate.Items;
                                                    if (items != null && items.Length > 0)
                                                    {
                                                        for (int i = 0; i < items.Length; i++)
                                                        {
                                                            EvaluateItem item = new EvaluateItem();
                                                            item.ItemID = items[i].ItemID;
                                                            item.ItemName = items[i].ItemName;
                                                            item.ItemValue = items[i].ItemValue;
                                                            g.Evaluate.Items.Add(item);
                                                        }
                                                    }
                                                }
                                                #endregion

                                                #region 目录。
                                                Impl.Catalog[] catalogs = grade.Catalogs;
                                                if (catalogs != null && catalogs.Length > 0)
                                                {
                                                    for (int i = 0; i < catalogs.Length; i++)
                                                    {
                                                        Catalog catalog = new Catalog();
                                                        catalog.CatalogID = catalogs[i].CatalogID;
                                                        catalog.CatalogCode = catalogs[i].CatalogCode;
                                                        catalog.CatalogName = catalogs[i].CatalogName;
                                                        catalog.TypeName = catalogs[i].TypeName;
                                                        catalog.OrderNO = catalogs[i].OrderNO;

                                                        this.RaiseChanged(string.Format("【开始装载年级[{0}]下科目[{1}]数据..】", grade.GradeName, catalogs[i].CatalogName));

                                                        #region 知识要点。
                                                        Impl.KnowledgePoint[] points = catalogs[i].Points;
                                                        if (points != null && points.Length > 0)
                                                        {
                                                            this.RaiseChanged(string.Format("【开始装载年级[{0}]下科目[{1}]下知识要点数据..】", grade.GradeName, catalogs[i].CatalogName));
                                                            for (int j = 0; j < points.Length; j++)
                                                            {
                                                                KnowledgePoint point = new KnowledgePoint();
                                                                point.PointID = points[j].PointID;
                                                                point.PointCode = points[j].PointCode;
                                                                point.PointName = points[j].PointName;
                                                                point.Description = points[j].Description;
                                                                point.OrderNO = points[j].OrderNO;

                                                                catalog.Points.Add(point);
                                                            }
                                                        }
                                                        #endregion

                                                        g.Catalogs.Add(catalog);
                                                    }
                                                }
                                                #endregion

                                                #region 班级。
                                                Impl.Class[] classes = grade.Classes;
                                                if (classes != null && classes.Length > 0)
                                                {
                                                    for (int i = 0; i < classes.Length; i++)
                                                    {
                                                        Class c = new Class();
                                                        c.ClassID = classes[i].ClassID;
                                                        c.ClassCode = classes[i].ClassCode;
                                                        c.ClassName = classes[i].ClassName;
                                                        c.OrderNO = classes[i].OrderNO;

                                                        this.RaiseChanged(string.Format("【开始装载年级[{0}]下班级[{1}]数据..】", grade.GradeName, classes[i].ClassName));

                                                        #region 学生。
                                                        Impl.Student[] students = classes[i].Students;
                                                        if (students != null && students.Length > 0)
                                                        {
                                                            for (int k = 0; k < students.Length; k++)
                                                            {
                                                                Student s = new Student();
                                                                s.StudentID = students[k].StudentID;
                                                                s.StudentCode = students[k].StudentCode;
                                                                s.StudentName = students[k].StudentName;
                                                                c.Students.Add(s);

                                                                this.RaiseChanged(string.Format("{0}.{1}[{2},{3}]", k + 1, s.StudentName, classes[i].ClassName, grade.GradeName));
                                                            }
                                                        }
                                                        #endregion

                                                        g.Classes.Add(c);
                                                    }
                                                }
                                                #endregion

                                                sync.School.Teacher.Grades.Add(g);
                                                this.RaiseChanged("【已装载完成年级数据:" + g.ToString() + "】");
                                            }
                                        }
                                        else
                                            this.RaiseChanged("同步年级信息失败!");
                                        #endregion
                                    }
                                    else
                                        this.RaiseChanged("同步教师信息失败!");
                                    #endregion
                                }
                                else
                                    this.RaiseChanged("同步学校信息失败!");
                                #endregion

                                this.RaiseChanged("【已完成装载数据,保存数据到本地存储...】");
                                TeaSyncData.Serialize(sync, FolderStructure.UserSyncDataFile(callback.AsyncState.ToString()));
                                this.RaiseChanged("【完成数据同步!】");
                                if (complete != null)
                                    complete(null, EventArgs.Empty);
                            }
                            else
                            {
                                this.RaiseChanged("【数据发生异常:" + result.ResultMessage + "】");
                            }
                        }
                    }), teacherID);
                }
                catch (Exception e)
                {
                    this.RaiseChanged("【下载同步数据发生异常】" + e.Message);
                }

            }
        }