示例#1
0
        [HttpGet]                                                      //定义访问方式(Post或Get方法)
        public object GetUpdateUnit(int id, int courseId, String name) //返回数据的函数,如果是Get方法则方法名为Get开头,若是Post则使用Post开头。
        {
            String result = "";
            var    query  = new BmobQuery();

            query.WhereEqualTo("courseId", courseId);
            var query1 = new BmobQuery();

            query1.WhereEqualTo("id", id);
            query.And(query1);
            var future = Bmob.FindTaskAsync <Unit>("Unit", query);

            try
            {
                String objectId = future.Result.results[0].objectId;
                Unit   k        = new BmobModel.Unit();
                k      = future.Result.results[0];
                k.name = name;
                var future1 = Bmob.UpdateTaskAsync("Unit", objectId, k);
                try
                {
                    result = future1.Result.updatedAt;
                }
                catch
                {
                    result = "修改失败";
                }
            }
            catch
            {
                result = "修改失败";
            }
            return(result);
        }
示例#2
0
        public object GetDeleteQuestion(int id, int courseId)
        {
            //两个条件的查询
            var query1 = new BmobQuery();

            query1.WhereEqualTo("id", id);
            var query2 = new BmobQuery();

            query1.WhereEqualTo("courseId", courseId);
            //And操作
            query1 = query1.And(query2);
            var future = Bmob.FindTaskAsync <Question>("Question", query1);

            try
            {
                var    a        = future.Result;
                String objectId = future.Result.results[0].objectId;
                var    future1  = Bmob.DeleteTaskAsync("Question", objectId);
                return(future1.Result.msg);
            }
            catch
            {
                return("获取失败");
            }
        }
示例#3
0
        [HttpGet]                                              //定义访问方式(Post或Get方法)
        public object GetDeleteKnowledge(int id, int courseId) //返回数据的函数,如果是Get方法则方法名为Get开头,若是Post则使用Post开头。
        {
            String result = "";
            var    query  = new BmobQuery();

            query.WhereEqualTo("courseId", courseId);
            var query1 = new BmobQuery();

            query1.WhereEqualTo("id", id);
            query.And(query1);
            var future = Bmob.FindTaskAsync <Knowledge>("Knowledge", query);

            try
            {
                String objectId = future.Result.results[0].objectId;
                var    future1  = Bmob.DeleteTaskAsync("Knowledge", objectId);
                try
                {
                    result = future1.Result.msg;
                }catch
                {
                    result = "删除失败";
                }
            }
            catch
            {
                result = "删除失败";
            }
            return(result);
        }
示例#4
0
        public object GetClassInfo()
        {
            HttpCookie cookie   = HttpContext.Current.Request.Cookies["UserInfoRemember"];
            String     username = cookie["username"].ToString();
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     id       = cookie1["CourseId"];
            int        courseId = int.Parse(id);
            var        query    = new BmobQuery();

            query.WhereEqualTo("tId", username);
            var q1 = new BmobQuery();

            q1.WhereEqualTo("courseId", courseId);
            query.And(q1);
            var future = Bmob.FindTaskAsync <Class>("Class", query);

            try
            {
                classList = future.Result.results;
                return(ResultToJson.toJson(classList));
            }
            catch
            {
                return("获取失败");
            }
        }
示例#5
0
        public object GetQueryNumOfCourse(String classId)
        {
            var query = new BmobQuery();

            query.Limit(300);
            query.WhereEqualTo("classId", classId);
            var        query1   = new BmobQuery();
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     Id       = cookie1["CourseId"];
            int        courseId = int.Parse(Id);

            query1.WhereEqualTo("courseId", courseId);
            query = query.And(query1);
            query.OrderByDescending("totalNum");
            var future = Bmob.FindTaskAsync <Feedback>("Feedback", query);

            try
            {
                feedbackList = future.Result.results;
                foreach (var f in feedbackList)     //由于BmobModel中有BmobInt类型不能直接显示到页面中,所以需要对字段的类型进行处理,变为相对应的ViewModel格式。
                {
                    Feedback_View feedback_view = new Feedback_View();
                    feedback_view.objectId = f.objectId;
                    feedback_view.username = f.username;
                    feedback_view.nickname = f.nickname;
                    feedback_view.totalNum = f.totalNum.Get();
                    fList.Add(feedback_view);
                }
                return(ResultToJson.toJson(fList));
            }
            catch
            {
                return("获取失败");
            }
        }
示例#6
0
        public object PostUpdateQuestion([FromBody] List <Question_View> questionsInfo)
        {
            String result = "";
            int    count  = 0;
            int    length = questionsInfo.Count;

            for (int i = 0; i < questionsInfo.Count; i++)
            {
                Question question = new Question();
                question.objectId    = questionsInfo[i].objectId;
                question.id          = questionsInfo[i].id;
                question.question    = questionsInfo[i].question;
                question.a           = questionsInfo[i].a;
                question.b           = questionsInfo[i].b;
                question.c           = questionsInfo[i].c;
                question.d           = questionsInfo[i].d;
                question.a           = questionsInfo[i].a;
                question.answer      = questionsInfo[i].answer;
                question.analysis    = questionsInfo[i].analysis;
                question.courseId    = questionsInfo[i].courseId;
                question.unitId      = questionsInfo[i].unitId;
                question.knowledgeId = questionsInfo[i].knowledgeId;
                question.difficulty  = questionsInfo[i].difficulty;
                question.totalNum    = questionsInfo[i].totalNum;
                question.rightNum    = questionsInfo[i].rightNum;
                questionList.Add(question);
            }

            for (int i = 0; i < length; i++)
            {
                var query1 = new BmobQuery();
                query1.WhereEqualTo("id", questionList[i].id);
                var query2 = new BmobQuery();
                query1.WhereEqualTo("courseId", questionList[i].courseId);
                //And操作
                query1 = query1.And(query2);
                var    future   = Bmob.FindTaskAsync <Question>("Question", query1);
                String objectId = future.Result.results[0].objectId;
                var    future1  = Bmob.UpdateTaskAsync("Question", objectId, questionList[i]);
                try
                {
                    String a = future1.Result.updatedAt;
                    count++;
                    if (count == length)
                    {
                        result = "success";
                    }
                }
                catch
                {
                    result = "fail";
                }
            }
            return(result);
        }
示例#7
0
        public object GetResourceInfo(int unitId, int knowledgeId)
        {
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     id       = cookie1["CourseId"];
            int        courseId = int.Parse(id);
            var        query    = new BmobQuery();

            query.WhereEqualTo("courseId", courseId);
            if (unitId != 0)
            {
                var q1 = new BmobQuery();
                q1.WhereEqualTo("unitId", unitId);
                query.And(q1);
            }
            if (knowledgeId != 0)
            {
                var q1 = new BmobQuery();
                q1.WhereEqualTo("knowledgeId", knowledgeId);
                query.And(q1);
            }
            var future = Bmob.FindTaskAsync <Resource>("Resource", query);

            try
            {
                resourceList = future.Result.results;
                List <Resource_View> resourceView = new List <Resource_View>();
                foreach (var resource in resourceList)
                {
                    Resource_View resources = new Resource_View();
                    resources.id       = resource.id.Get();
                    resources.fileUrl  = resource.file.url;
                    resources.fileName = resource.file.filename;
                    resources.type     = resource.type;
                    resourceView.Add(resources);
                }
                return(ResultToJson.toJson(resourceView));
            }
            catch
            {
                return("fail");
            }
        }
示例#8
0
        public object GetSelectedQuestion(int unitId, String knowledgeId, int difficulty)
        {
            var query = new BmobQuery();

            query.Limit(300);
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     Id       = cookie1["CourseId"];
            int        courseId = int.Parse(Id);

            query.WhereEqualTo("courseId", courseId);
            var query1 = new BmobQuery();

            query1.WhereEqualTo("unitId", unitId);
            var query2 = new BmobQuery();

            query2.WhereEqualTo("knowledgeId", knowledgeId);
            var query3 = new BmobQuery();

            query3.WhereEqualTo("difficulty", difficulty);
            query2 = query2.And(query3);
            query1 = query1.And(query2);
            query  = query.And(query1);
            var future = Bmob.FindTaskAsync <Question>("Question", query);

            try
            {
                questionList = future.Result.results;
                foreach (var q in questionList)     //由于BmobModel中有BmobInt类型不能直接显示到页面中,所以需要对字段的类型进行处理,变为相对应的ViewModel格式。
                {
                    Question_View question_view = new Question_View();
                    question_view.id          = q.id.Get();
                    question_view.difficulty  = q.difficulty.Get();
                    question_view.totalNum    = q.totalNum.Get();
                    question_view.rightNum    = q.rightNum.Get();
                    question_view.question    = q.question;
                    question_view.a           = q.a;
                    question_view.b           = q.b;
                    question_view.c           = q.c;
                    question_view.d           = q.d;
                    question_view.answer      = q.answer;
                    question_view.analysis    = q.analysis;
                    question_view.courseId    = q.courseId.Get();
                    question_view.unitId      = q.unitId.Get();
                    question_view.knowledgeId = q.knowledgeId;
                    qList.Add(question_view);
                }
                return(ResultToJson.toJson(qList));
            }
            catch
            {
                return("获取失败");
            }
        }
示例#9
0
        public object GetDeleteUnit(int courseId, int id)
        {
            String result = "";
            var    query  = new BmobQuery();

            query.WhereEqualTo("courseId", courseId);
            var query1 = new BmobQuery();

            query1.WhereEqualTo("id", id);
            query1.And(query);
            var future = Bmob.FindTaskAsync <Unit>("Unit", query1);

            try
            {
                String objectId = future.Result.results[0].objectId;
                var    future1  = Bmob.DeleteTaskAsync("Unit", objectId);
                try
                {
                    var query2 = new BmobQuery();
                    query2.WhereEqualTo("unitId", id);
                    query2.And(query);
                    var future2 = Bmob.FindTaskAsync <Knowledge>("Knowledge", query2);
                    try
                    {
                        int length = future2.Result.results.Count;
                        for (int i = 0; i < length; i++)
                        {
                            String objectid = future2.Result.results[i].objectId;
                            var    future3  = Bmob.DeleteTaskAsync("Knowledge", objectid);
                            try
                            {
                                result = future1.Result.msg;
                            }
                            catch
                            {
                                result = "删除失败";
                            }
                        }
                    }catch
                    {
                        result = "删除失败";
                    }
                }catch
                {
                    result = "删除失败";
                }
            }
            catch
            {
                result = "删除失败";
            }
            return(result);
        }
示例#10
0
        public object GetQueryFeedback(String classId, int unitId)
        {
            var query = new BmobQuery();

            query.Limit(300);
            query.WhereEqualTo("classId", classId);
            var        query1   = new BmobQuery();
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     Id       = cookie1["CourseId"];
            int        courseId = int.Parse(Id);

            query1.WhereEqualTo("courseId", courseId);
            var query2 = new BmobQuery();

            query2.WhereEqualTo("unitId", unitId);
            query1 = query1.And(query2);
            query  = query.And(query1);
            //query.OrderByDescending("rightNum");
            var future = Bmob.FindTaskAsync <Feedback>("Feedback", query);

            try
            {
                feedbackList = future.Result.results;
                foreach (var f in feedbackList)     //由于BmobModel中有BmobInt类型不能直接显示到页面中,所以需要对字段的类型进行处理,变为相对应的ViewModel格式。
                {
                    Feedback_View feedback_view = new Feedback_View();
                    feedback_view.objectId = f.objectId;
                    feedback_view.username = f.username;
                    feedback_view.nickname = f.nickname;
                    feedback_view.totalNum = f.totalNum.Get();
                    feedback_view.rightNum = f.rightNum.Get();
                    if (feedback_view.totalNum != 0)
                    {
                        feedback_view.accuracy = 100 * feedback_view.rightNum / feedback_view.totalNum;
                    }
                    fList.Add(feedback_view);
                }
                List <Feedback_View> feedbackSortList = new List <Feedback_View>();
                feedbackSortList = fList.OrderByDescending(s => s.accuracy).ToList();
                return(ResultToJson.toJson(feedbackSortList));
            }
            catch
            {
                return("获取失败");
            }
        }
示例#11
0
        public object GetQuestionStatistic(int unitId)
        {
            var query = new BmobQuery();

            query.Limit(300);
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     id       = cookie1["CourseId"];
            int        courseId = int.Parse(id);

            query.WhereEqualTo("courseId", courseId);
            var query1 = new BmobQuery();

            query1.WhereEqualTo("unitId", unitId);
            query = query.And(query1);
            //query.OrderByDescending("rightNum");
            var future = Bmob.FindTaskAsync <Question>("Question", query);

            try
            {
                questionList = future.Result.results;
                foreach (var q in questionList)     //由于BmobModel中有BmobInt类型不能直接显示到页面中,所以需要对字段的类型进行处理,变为相对应的ViewModel格式。
                {
                    Question_View question_view = new Question_View();
                    question_view.id       = q.id.Get();
                    question_view.question = q.question;
                    question_view.totalNum = q.totalNum.Get();
                    question_view.rightNum = q.rightNum.Get();

                    if (question_view.totalNum != 0)
                    {
                        question_view.accuracy = 100 * question_view.rightNum / question_view.totalNum;
                    }
                    qList.Add(question_view);
                }

                questionSortList = qList.OrderByDescending(s => s.accuracy).ToList();

                return(ResultToJson.toJson(questionSortList));
            }
            catch
            {
                return("获取失败");
            }
        }
示例#12
0
        public object GetAllStudent()
        {
            var query = new BmobQuery();
            //query.Skip((pageIndex - 1) * pageSize).Limit(pageSize);
            HttpCookie cookie   = HttpContext.Current.Request.Cookies["UserInfoRemember"];
            String     username = cookie["username"].ToString();
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     Id       = cookie1["CourseId"];
            int        courseId = int.Parse(Id);

            query.WhereEqualTo("tId", username);
            var q1 = new BmobQuery();

            q1.WhereEqualTo("courseId", courseId);
            query.And(q1);
            var future1 = Bmob.FindTaskAsync <Class>("Class", query);

            try
            {
                int      count   = future1.Result.results.Count;
                String[] classes = new String[count];
                for (int i = 0; i < count; i++)
                {
                    classes[i] = future1.Result.results[i].id;
                }
                var query1 = new BmobQuery();
                query1.WhereContainedIn("classId", classes);
                var future = Bmob.FindTaskAsync <User>("_User", query1);
                try
                {
                    userList = future.Result.results;
                    return(ResultToJson.toJson(userList));
                }
                catch
                {
                    return("获取失败");
                }
            }
            catch
            {
                return("获取失败");
            }
        }
示例#13
0
        public object GetShowDetails(String examQuestionList)
        {
            string[] results      = examQuestionList.Split(new[] { ';' });
            int[]    examQuestion = Array.ConvertAll <string, int>(results, s => int.Parse(s));

            for (int i = 0; i < examQuestion.Length; i++)
            {
                var query = new BmobQuery();
                query.WhereEqualTo("id", examQuestion[i]);
                HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
                String     Id       = cookie1["CourseId"];
                int        courseId = int.Parse(Id);
                var        query2   = new BmobQuery();
                query2.WhereEqualTo("courseId", courseId);
                query = query.And(query2);
                query.OrderBy("id");
                var future = Bmob.FindTaskAsync <Question>("Question", query);
                try
                {
                    questionList = future.Result.results;
                    foreach (var q in questionList)     //由于BmobModel中有BmobInt类型不能直接显示到页面中,所以需要对字段的类型进行处理,变为相对应的ViewModel格式。
                    {
                        Question_View question_view = new Question_View();
                        question_view.id          = q.id.Get();
                        question_view.difficulty  = q.difficulty.Get();
                        question_view.question    = q.question;
                        question_view.courseId    = q.courseId.Get();
                        question_view.unitId      = q.unitId.Get();
                        question_view.knowledgeId = q.knowledgeId;
                        qList.Add(question_view);
                    }
                }
                catch
                {
                    return("获取失败");
                }
            }
            return(ResultToJson.toJson(qList));
        }
示例#14
0
        public void FindByWhereCountByCreatedAtTest()
        {
            BmobDate start = new DateTime(2014, 10, 1);
            BmobDate end   = new DateTime(2016, 1, 1);

            var startQuery = new BmobQuery();

            startQuery.WhereGreaterThanOrEqualTo("createdAt", start);

            var endQuery = new BmobQuery();

            endQuery.WhereLessThan("createdAt", end);

            var query = startQuery.And(endQuery);

            // 不返回具体内容
            query.Limit(0);
            query.Count();

            var future = Bmob.FindTaskAsync <Object>(TABLENAME, query);

            FinishedCallback(future.Result, null);
        }
示例#15
0
        public void FindByWhereCountByCreatedAtTest()
        {
            BmobDate start = new DateTime(2014, 10, 1);
            BmobDate end = new DateTime(2016, 1, 1);

            var startQuery = new BmobQuery();
            startQuery.WhereGreaterThanOrEqualTo("createdAt", start);

            var endQuery = new BmobQuery();
            endQuery.WhereLessThan("createdAt", end);

            var query = startQuery.And(endQuery);
            // 不返回具体内容
            query.Limit(0);
            query.Count();

            var future = Bmob.FindTaskAsync<Object>(TABLENAME, query);
            FinishedCallback(future.Result, null);
        }
示例#16
0
        public List <Question_View> selectQuestion(Requirement require, Double diff, int num)
        {
            HttpCookie           cookie1      = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String               Id           = cookie1["CourseId"];
            int                  courseId     = int.Parse(Id);
            List <Question>      questionList = new List <Question>();
            List <Question_View> qList        = new List <Question_View>();
            //List<Question_View> resultList = new List<Question_View>();
            var query = new BmobQuery();

            query.WhereEqualTo("courseId", courseId);
            var q1 = new BmobQuery();

            q1.WhereEqualTo("difficulty", diff);
            query.And(q1);
            query.Limit(500);
            var future = Bmob.FindTaskAsync <Question>("Question", query);

            try
            {
                questionList = future.Result.results;
                Random ra   = new Random();
                int[]  qNum = new int[num];
                int    i    = 0;
                while (true)
                {
                    if (i == num - 1)
                    {
                        break;
                    }
                    int random = ra.Next(0, questionList.Count);
                    int n      = 0;
                    for (int k = 0; k < i; k++)
                    {
                        if (qNum[k] != random)
                        {
                            n++;
                        }
                    }
                    if (n == i)
                    {
                        qNum[i] = random;
                    }
                    else
                    {
                        continue;
                    }
                    i++;
                }
                for (int a = 0; a < num; a++)
                {
                    int      id = qNum[a];
                    Question q  = new Question();
                    q = questionList[id];
                    Question_View question_view = new Question_View();
                    question_view.id = q.id.Get();
                    //question_view.question = q.question;
                    //question_view.a = q.a;
                    //question_view.b = q.b;
                    //question_view.c = q.c;
                    //question_view.d = q.d;
                    //question_view.answer = q.answer;
                    //question_view.analysis = q.analysis;
                    //question_view.difficulty = q.difficulty.Get();
                    //question_view.unitId = q.unitId.Get();
                    //question_view.knowledgeId = q.knowledgeId;
                    qList.Add(question_view);
                }
            }
            catch
            {
                //result = "抽取失败";
            }
            return(qList);
        }