Exemplo n.º 1
0
        public ActionResult Result(int subjectId, string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                ModelState.AddModelError("", "请输入姓名");
            }

            var subject = _subjectInfoService.GetSubjectById(subjectId);
            if (subject == null)
            {
                ModelState.AddModelError("", "题目不存在");
            }

            var model = new SubjectResultModel();

            if (ModelState.IsValid)
            {
                var result = _subjectResultService.GetResultByKey(subject.Id, name);
                if (result == null)
                {
                    var random = new Random((int) DateTime.Now.Ticks);
                    result = new SubjectResult()
                    {
                        Subject = subject,
                        Key = name,
                        Options = new List<SubjectOption>(),
                        ResultPictureId = subject.ResultPictureId,
                        CreateOnUtc = DateTime.UtcNow
                    };

                    var options = subject.Options.Where(o => o.IsValid);
                    var group = options.GroupBy(o => o.ResultType);
                    foreach (var item in group)
                    {
                        result.Options.Add(item.ElementAt(random.Next(item.Count())));
                    }

                    //todo create picture

                    _subjectResultService.Add(result);
                    
                }

                model = result.ToModel();
                model.ResultTitle = name + subject.ResultTitle;
            }

            return View(model);
        }
 public void Add(SubjectResult model)
 {
     _subjectResultRepository.Add(model);
 }