Beispiel #1
0
        public bool Create(TaskViewModel vm, Guid userId)
        {
            //往taskdetail插入数据
            //把TaskViewModel转换成TaskDetialModel
            var m = new TaskDetailModel {
                TaskID = Guid.Parse(vm.p), DetailNo = vm.p2,
            };
            var m1 = new TaskScoreModel {
                TaskID = m.TaskID, Score = 0
            };
            var tid = vm.p;
            var seq = Convert.ToInt32(vm.p1);

            //查询其他数据:
            //根据tid和seq获取tArticleID
            var task = (TaskArticleModel)tadb.Read(tid, seq);

            //根据tArticleID获取tArticleNo
            var taid = task.ArticleID;
            var tano = task.ArticleNo;

            m.ArticleID = taid;
            m.ArticleNo = tano;

            //根据tArticleID 和 DetailNo 获取 tDetailID
            var articleDetail = (ArticleDetailModel)addb.Read(taid.ToString(), m.DetailNo);

            m.DetailID = articleDetail.ID;

            //根据tArticleID获取AnswerNo
            var answer = (ArticleAnswerModel)andb.Read(taid.ToString());

            m.AnswerNo = answer.cNo;
            db.Create(m, vm.p1);
            if (vm.p1 == "5")
            {
                //这里要计算一下m1的Score
                var list  = db.List(tid).Cast <TaskDetailModel>();
                var score = list.Where(x => x.DetailNo == x.AnswerNo).Count();
                m1.UserID = userId;
                m1.Score  = score;
                sdb.Create(m1);

                int p = score;
                if (score == 5)
                {
                    p++;
                }

                uplogic.CreatePoint(userId, p);
            }

            //如果是最后一个,还要往taskscore插入数据
            return(true);
        }
Beispiel #2
0
        public bool Create(TaskDetailModel m, TaskScoreModel m1)
        {
            var x = new TaskScoreDB().GetCreateSQL();

            var sql1 = string.Format(cSql, Guid.NewGuid(), m.TaskID, m.ArticleID, m.ArticleNo, m.DetailID, m.DetailNo, m.AnswerNo);
            var sql2 = string.Format(x, Guid.NewGuid(), m1.TaskID, m1.Score);
            var sql3 = string.Format(db.GetUpdateSQL(), m.TaskID, Common.Seed);
            var sqls = new List <string>();

            sqls.Add(sql1);
            sqls.Add(sql2);
            sqls.Add(sql3);

            var result = utility.Exec(sqls.ToArray());

            return(result.Item1);
        }