Esempio n. 1
0
        /// <summary>
        /// 新提交作业接口(业务全部在接口中实现,PC端只管理提交答案内容)
        /// </summary>
        /// <param name="answer">pc端定义的插件JSON对像</param>
        /// <param name="type"></param>
        /// <param name="versionId"></param>
        /// <param name="id"></param>
        /// <param name="isWork"></param>
        /// <returns></returns>
        public bool SubmitWorkNew(int type, int id, int isWork, int useTime, List <WorkAnswerContract> answer)
        {
            decimal score = 0;//总分

            if (isWork == 0)
            {
                var pariseWork = workService.GetIndepPracticeById(id);
                if (pariseWork != null)
                {
                    //组装答案
                    answer.ForEach(t =>
                    {
                        t.DoId         = id;
                        t.AnswerType   = 2;
                        t.ResourceType = "fcfd6131-cdb6-4eb8-9cb9-031f710a8f15";
                        score         += t.Score;//累计分数
                    });

                    pariseWork.ActualScore = score;
                    pariseWork.Status      = 1;
                    pariseWork.WorkLong    = useTime;
                    pariseWork.CreateDate  = DateTime.Now;

                    workService.DoIndepPractice(pariseWork, answer);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                var work = workService.GetUserUnitWork(id);
                if (work != null)
                {
                    //组装答案
                    answer.ForEach(t =>
                    {
                        t.DoId         = id;
                        t.AnswerType   = 2;
                        t.ResourceType = "fcfd6131-cdb6-4eb8-9cb9-031f710a8f15";
                        score         += t.Score;//累计分数
                    });

                    work.WorkLong    = useTime;
                    work.ActualScore = score;
                    work.SubmitDate  = DateTime.Now;
                    work.Status      = 3;
                    work.SubmitCount = work.SubmitCount + 1;
                    workService.DoUnitWorks(work, answer);
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }