Ejemplo n.º 1
0
        /// <summary>
        /// 同步学生
        /// </summary>
        /// <returns></returns>
        public bool TongBuStudent()
        {
            string content =
                "{\"data\":{\"displayName\":\"\",\"gender\":\"\",\"idCard\":\"\",\"phoneNum\":\"\",\"centerId\":0,\"majorId\":0,\"semesterId\":0,\"studentNumber\":\"\",\"studyStatusId\":0,\"pageIndex\":0,\"pageSize\":99999}}";

            sen = sing(content);
            string content1 = "{\"data\":{\"displayName\":\"\",\"gender\":\"\",\"idCard\":\"\",\"phoneNum\":\"\",\"centerId\":0,\"majorId\":0,\"semesterId\":0,\"studentNumber\":\"\",\"studyStatusId\":0,\"pageIndex\":0,\"pageSize\":99999},\"signature\": \"" + sen + "\"}";

            html = WebPost("http://www.qingshuxuetang.com/QingShuSchoolWebService/jxsf/v1/student/search", content1, Encoding.UTF8);
            if (!html.Contains("服务器"))
            {
                var results = JsonConvert.DeserializeObject <QingShuStuMessage>(html);

                if (results.hr == 0)
                {
                    var list = results.data;
                    using (var yunEntities = new IYunEntities())
                    {
                        var qingCourses = new List <YD_Edu_QingStuInfo>();
                        for (var i = 0; i < list.Count; i++)
                        {
                            var qingStu = new YD_Edu_QingStuInfo();
                            qingStu.y_qingId = list[i].id;
                            qingStu.y_name   = list[i].displayName;
                            qingStu.y_stuNum = list[i].studentNumber;

                            qingStu.y_qingSubId   = list[i].centerId;
                            qingStu.y_qingMajorId = list[i].majorId;
                            var stuNum = list[i].name.Replace("jxsf_", "");
                            var obj    = yunEntities.YD_Sts_StuInfo.FirstOrDefault(u => u.y_stuNum == stuNum);
                            if (obj == null)
                            {
                                continue;
                            }
                            qingStu.y_nid    = obj.id;
                            qingStu.y_cardId = obj.y_cardId;
                            if (!yunEntities.YD_Edu_QingStuInfo.Any(u => u.y_qingId == qingStu.y_qingId))//本地已映射的学生不再映射
                            {
                                qingCourses.Add(qingStu);
                            }
                        }
                        yunEntities.Configuration.AutoDetectChangesEnabled = false;
                        yunEntities.Configuration.ValidateOnSaveEnabled    = false;
                        yunEntities.Set <YD_Edu_QingStuInfo>().AddRange(qingCourses);
                        yunEntities.SaveChanges();
                        //yunEntities.BulkInsert(qingCourses);
                        //yunEntities.SaveChanges();
                        return(true);
                    }
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取指定页面的对象集合(多字段排序)
        /// </summary>
        /// <param name="rows">每页大小</param>
        /// <param name="page">页码</param>
        /// <param name="totalCount">总数</param>
        /// <param name="sql">要执行的sql语句</param>
        /// <param name="parameters">sql语句中的参数</param>
        /// <param name="yunEntities">上下文对象</param>
        /// <returns></returns>
        public IEnumerable <T> MulSortPageList(int rows, int page, out int totalCount, string sql, SqlParameter[] parameters, IYunEntities yunEntities)
        {
            var list    = yunEntities.Set <T>().SqlQuery(sql, parameters);
            var rowskip = rows * (page - 1);

            totalCount = list.Count();
            return(list.Skip(rowskip).Take(rows));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取对象集合(单字段排序)
        /// </summary>
        /// <typeparam name="TS">排序字段类型</typeparam>
        /// <param name="whereLambda">查找条件</param>
        /// <param name="orderbyLambda">排序条件</param>
        /// <param name="isAsc">是否是正序</param>
        /// <param name="yunEntities">上下文对象</param>
        /// <returns></returns>
        public IQueryable <T> SingleSortList <TS>(Expression <Func <T, bool> > whereLambda,
                                                  Expression <Func <T, TS> > orderbyLambda, bool isAsc, IYunEntities yunEntities)
        {
            var list = yunEntities.Set <T>().Where <T>(whereLambda);

            list = isAsc ? list.OrderBy(orderbyLambda) : list.OrderByDescending(orderbyLambda);
            return(list);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取指定页面的对象集合(默认排序)
        /// </summary>
        /// <param name="rows">每页大小</param>
        /// <param name="page">页码</param>
        /// <param name="totalCount">总数</param>
        /// <param name="whereLambda">查找条件</param>
        /// <param name="yunEntities">上下文对象</param>
        /// <returns></returns>
        public IQueryable <T> PageList(int rows, int page, out int totalCount, Expression <Func <T, bool> > whereLambda, IYunEntities yunEntities)
        {
            var list    = yunEntities.Set <T>().Where <T>(whereLambda);
            var rowskip = rows * (page - 1);

            totalCount = list.Count();
            list       = list.Skip(rowskip).Take(rows);
            return(list);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获取指定页面的对象集合(单字段排序)
        /// </summary>
        /// <typeparam name="TS">排序字段类型</typeparam>
        /// <param name="rows">每页大小</param>
        /// <param name="page">页码</param>
        /// <param name="totalCount">总数</param>
        /// <param name="whereLambda">查找条件</param>
        /// <param name="orderbyLambda">排序条件</param>
        /// <param name="isAsc">是否是正序</param>
        /// <param name="yunEntities">上下文对象</param>
        /// <returns></returns>
        public IQueryable <T> SingleSortPageList <TS>(int rows, int page, out int totalCount, Expression <Func <T, bool> > whereLambda,
                                                      Expression <Func <T, TS> > orderbyLambda, bool isAsc, IYunEntities yunEntities)
        {
            var list    = yunEntities.Set <T>().Where <T>(whereLambda);
            var rowskip = rows * (page - 1);

            totalCount = list.Count();
            list       = isAsc ? list.OrderBy(orderbyLambda).Skip(rowskip).Take(rows) : list.OrderByDescending(orderbyLambda).Skip(rowskip).Take(rows);
            return(list);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 同步课程
        /// </summary>
        /// <returns></returns>
        public bool TongBuCourse()
        {
            string content =
                "{\"data\":{\"ids\":[]}}";

            sen = sing(content);
            string content1 = "{\"data\":{\"ids\":[]},\"signature\": \"" + sen + "\"}";

            html = WebPost("http://www.qingshuxuetang.com/QingShuSchoolWebService/jxsf/v1/course/search", content1, Encoding.UTF8);
            if (!html.Contains("服务器"))
            {
                var results = JsonConvert.DeserializeObject <QingShuCourseMessage>(html);

                if (results.hr == 0)
                {
                    var list = results.data;
                    using (var yunEntities = new IYunEntities())
                    {
                        var qingCourses = new List <YD_Edu_QingCourse>();
                        for (var i = 0; i < list.Count; i++)
                        {
                            var course = new YD_Edu_QingCourse();
                            course.y_qingId = list[i].id;
                            course.y_name   = list[i].name;
                            var name = list[i].name;
                            var obj  = yunEntities.YD_Edu_Course.FirstOrDefault(u => u.y_name == name);
                            if (obj == null)
                            {
                                continue;
                            }
                            course.y_nid = obj.id;
                            if (!yunEntities.YD_Edu_QingCourse.Any(u => u.y_qingId == course.y_qingId))//本地已映射的科目不再映射
                            {
                                qingCourses.Add(course);
                            }
                        }
                        yunEntities.Configuration.AutoDetectChangesEnabled = false;
                        yunEntities.Configuration.ValidateOnSaveEnabled    = false;
                        yunEntities.Set <YD_Edu_QingCourse>().AddRange(qingCourses);
                        yunEntities.SaveChanges();
                        //yunEntities.BulkInsert(qingCourses);
                        //yunEntities.SaveChanges();
                        return(true);
                    }
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 将成绩数据进行导入
 /// </summary>
 /// <returns></returns>
 public string UploadScore(List <QingShuStuScore> scores)
 {
     scores = scores.Where(u => u.examScore != 0m).ToList();//未参加考试的成绩不同步
     using (var yunEntities = new IYunEntities())
     {
         var scoreList = new List <YD_Edu_Score>();
         for (var i = 0; i < scores.Count; i++)
         {
             var score    = new YD_Edu_Score();
             var courseId = scores[i].courseId;
             var obj      = yunEntities.YD_Edu_QingCourse.FirstOrDefault(u => u.y_qingId == courseId);
             if (obj == null)
             {
                 continue;
             }
             score.y_courseId    = obj.y_nid;
             score.y_normalScore = scores[i].usualScore;
             score.y_termScore   = scores[i].examScore;
             score.y_totalScore  = scores[i].finalScore;
             var stuId = scores[i].studentId;
             var stu   = yunEntities.YD_Edu_QingStuInfo.FirstOrDefault(u => u.y_qingId == stuId);
             if (stu == null)
             {
                 continue;
             }
             score.y_stuId = stu.y_nid;
             score.y_term  = scores[i].term;
             if (!yunEntities.YD_Edu_Score.Any(u => u.y_courseId == obj.y_nid && u.y_stuId == stu.y_nid && u.y_term == score.y_term))//本地已有的成绩不同步
             {
                 scoreList.Add(score);
             }
         }
         yunEntities.Configuration.AutoDetectChangesEnabled = false;
         yunEntities.Configuration.ValidateOnSaveEnabled    = false;
         yunEntities.Set <YD_Edu_Score>().AddRange(scoreList);
         yunEntities.SaveChanges();
         //yunEntities.BulkInsert(scoreList);
         //yunEntities.BulkSaveChanges();
         return("同步完成");
     }
 }
Ejemplo n.º 8
0
        /// <summary>
        /// 新增一个实体对象
        /// </summary>
        /// <param name="entity">要新增的实体对象</param>
        /// <param name="moduleUrl">操作该方法的栏目url(例:/SysAdmin/Site)</param>
        /// <param name="yunEntities"></param>
        /// <returns>信息集对象</returns>
        public ResultInfo BaseAddEntity(T entity, string moduleUrl, IYunEntities yunEntities)
        {
            var resultInfo = new ResultInfo {
                Info = Safe(moduleUrl, PowerFlag.Insert)
            };

            switch (resultInfo.Info)
            {
            case PowerInfo.NoPower:
                resultInfo.Success = false;
                resultInfo.Message = "没有权限";
                return(resultInfo);

            case PowerInfo.NoLogin:
                resultInfo.Success = false;
                resultInfo.Message = "没有登录";
                return(resultInfo);

            case PowerInfo.Unknow:
                resultInfo.Success = false;
                resultInfo.Message = "未知错误";
                return(resultInfo);

            case PowerInfo.HasPower:
                break;

            default:
                resultInfo.Success = false;
                resultInfo.Message = "未知错误";
                return(resultInfo);
            }
            yunEntities.Set <T>().Add(entity);
            yunEntities.Configuration.AutoDetectChangesEnabled = false;
            yunEntities.Configuration.ValidateOnSaveEnabled    = false;
            resultInfo.Success = yunEntities.SaveChanges() > 0;
            resultInfo.Message = "";
            return(resultInfo);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 获取对象集合(默认排序)
        /// </summary>
        /// <param name="whereLambda">查找条件</param>
        /// <param name="yunEntities">上下文对象</param>
        /// <returns></returns>
        public IQueryable <T> List(Expression <Func <T, bool> > whereLambda, IYunEntities yunEntities)
        {
            var list = yunEntities.Set <T>().Where <T>(whereLambda);

            return(list);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 获取单个对象
        /// </summary>
        /// <param name="whereLambda">查找条件</param>
        /// <param name="yunEntities">上下文对象</param>
        /// <returns></returns>
        public T GetFirstOrDefault(Expression <Func <T, bool> > whereLambda, IYunEntities yunEntities)
        {
            var t = yunEntities.Set <T>().FirstOrDefault(whereLambda);

            return(t);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 获取对象集合(多字段排序)
        /// </summary>
        /// <param name="sql">要执行的sql语句</param>
        /// <param name="parameters">sql语句中的参数</param>
        /// <param name="yunEntities">上下文对象</param>
        /// <returns></returns>
        public DbSqlQuery <T> MulSortList(string sql, object[] parameters, IYunEntities yunEntities)
        {
            var list = yunEntities.Set <T>().SqlQuery(sql, parameters);

            return(list);
        }