Exemplo n.º 1
0
        public ActionResult AddQuestion(int id, SubjectTypeEnum subjectType)
        {
            subjectType = SubjectTypeEnum.判断题;
            QuestionInputModel question = null;

            return(View(subjectType.ToString(), question));
        }
        protected override Yw_SubjectContent GetContent(
            QuestionInputModel sub,
            SubjectBll bll,
            int currentUser,
            Yw_SubjectContent content)
        {
            FillInBlank           subject        = sub as FillInBlank;
            Yw_FillInBlankContent derivedContent = null;

            if (content == null)
            {
                derivedContent = new Yw_FillInBlankContent();
                derivedContent.Ysc_CreateTime  = DateTime.Now;
                derivedContent.Ysc_Creator     = currentUser;
                derivedContent.Ysc_SubjectType = subject.SubjectType;
            }
            else
            {
                derivedContent = content as Yw_FillInBlankContent;
            }
            derivedContent.Ysc_Editor      = currentUser;
            derivedContent.Ysc_Explain     = subject.Explain;
            derivedContent.Ysc_Content_Obj = new FillInBlankContentObj
            {
                Stem = UeditorContentFactory.Blank(subject.Name)
            };
            derivedContent.Ysc_Answer_Obj = new FillInBlankAnswerObj
            {
                Correct = subject.Correct.Blanks,
                Other   = subject.Other.Blanks,
                Perfect = subject.Perfect.Blanks
            };
            derivedContent.Ysc_UpdateTime = DateTime.Now;
            return(derivedContent);
        }
        protected override Yw_SubjectContent GetContent(
            QuestionInputModel sub,
            SubjectBll bll,
            int currentUser,
            Yw_SubjectContent content)
        {
            TrueFalse           subject        = sub as TrueFalse;
            Yw_TrueFalseContent derivedContent = null;

            if (content == null)
            {
                derivedContent = new Yw_TrueFalseContent();
                derivedContent.Ysc_CreateTime  = DateTime.Now;
                derivedContent.Ysc_Creator     = currentUser;
                derivedContent.Ysc_SubjectType = subject.SubjectType;
            }
            else
            {
                derivedContent = content as Yw_TrueFalseContent;
            }
            derivedContent.Ysc_Editor      = currentUser;
            derivedContent.Ysc_Explain     = subject.Explain;
            derivedContent.Ysc_Content_Obj = new TrueFalseContentObj
            {
                StemType = (int)subject.StemType,
                Stem     = UeditorContentFactory.FetchUrl(subject.Name, subject.StemType)
            };
            derivedContent.Ysc_Answer_Obj = new TrueFalseAnswerObj
            {
                Answer = subject.Answer
            };
            derivedContent.Ysc_UpdateTime = DateTime.Now;

            return(derivedContent);
        }
        public ActionResult Create(QuestionInputModel inputModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var question = Mapper.Map <QuestionInputModel, Core.Entities.Question>(inputModel);
                    question.CreatedByUserId = ClaimsUser == null ? null : ClaimsUser.Id;

                    _questionService.Store(question);

                    DocumentSession.SaveChanges();

                    return(RedirectToAction("Index", "Home", new { area = "" }));
                }
            }
            catch (Exception exception)
            {
                ModelState.AddModelError("RuRoh", exception.Message);
            }

            var viewModel = new QuestionViewModel(ClaimsUser);

            Mapper.Map(inputModel, viewModel);

            return(View("Create", viewModel));
        }
Exemplo n.º 5
0
        public ActionResult <int> PostQuestion(QuestionInputModel questionModel)
        {
            Mapper           mapper      = new Mapper();
            QuestionDTO      questionDto = mapper.ConvertQuestionInputModelToQuestionDTO(questionModel);
            AuthorDataAccess questions   = new AuthorDataAccess();
            var test = questions.GetTestById(questionModel.TestID);

            if (test == null)
            {
                return(BadRequest("Теста не существует"));
            }
            if (string.IsNullOrWhiteSpace(questionModel.Value))
            {
                return(BadRequest("Введите вопрос"));
            }
            if (questionModel.TypeID == null)
            {
                return(BadRequest("Введите тип вопроса"));
            }
            if (questionModel.AnswersCount == null)
            {
                return(BadRequest("Введите количество ответов на вопрос"));
            }
            if (questionModel.Weight == null)
            {
                return(BadRequest("Введите вес вопроса"));
            }
            return(Ok(questions.AddQuestion(questionDto)));
        }
Exemplo n.º 6
0
        public IActionResult Create(QuestionInputModel questionInput)
        {
            var questionDTO = new QuestionDTO
            {
                Title             = questionInput.Title,
                Text              = questionInput.Text,
                FacultyId         = questionInput.FacultyId,
                Date              = DateTime.Now,
                ApplicationUserId = this._userService.GetUserId(this.User),
            };

            this._questionService.CreateQuestion(questionDTO);

            if (questionInput.Tags != null)
            {
                foreach (var tag in questionInput.Tags)
                {
                    var tagId = this._tagService.FindOrCreate(tag);
                    this._questionService.AddTag(questionDTO.Id, tagId);
                }
            }

            this._logger.LogInformation($"Question #{questionDTO.Id} created.");

            return(this.RedirectToAction("Details", "Question", new { id = questionDTO.Id }));
        }
Exemplo n.º 7
0
        /// <summary>
        /// 获取Yw_SubjectContent对象,以及对对象如何操作(添加/更新)
        /// 用于向数据库添加或更新数据
        /// </summary>
        /// <param name="subject"></param>
        /// <param name="bll"></param>
        /// <param name="currentUser"></param>
        /// <param name="entity"></param>
        /// <returns></returns>
        public Action <Yw_SubjectContent> Fetch(
            QuestionInputModel subject,
            SubjectBll bll,
            int currentUser,
            out Yw_SubjectContent entity)
        {
            Check.IfNull(subject, nameof(subject));
            if (currentUser < 10000)
            {
                throw new ArgumentException(
                          "当前登录用户的ID不能小于10000",
                          nameof(currentUser));
            }

            Action <Yw_SubjectContent> saveContentMethod = null;
            Yw_SubjectContent          contentInDb       = bll.GetSubjectContent(subject.Id);

            if (contentInDb == null)
            {
                saveContentMethod = bll.InsertContent;
            }
            else
            {
                saveContentMethod = bll.UpdateContent;
            }
            Yw_SubjectContent content = GetContent(subject, bll, currentUser, contentInDb);

            entity = content;
            return(saveContentMethod);
        }
Exemplo n.º 8
0
        public async Task <IActionResult> Update(QuestionInputModel model)
        {
            await this.questionsService.Update(model.Id, model.Text);

            var page = this.HttpContext.Session.GetInt32(Constants.PageToReturnTo);

            return(this.RedirectToAction("Display", "Quizzes", new { page }));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> AddNewQuestion(QuestionInputModel model)
        {
            var quizId     = this.HttpContext.Session.GetString(Constants.QuizSeesionId);
            var questionId = await this.questionService.CreateQuestionAsync(quizId, model.Text);

            this.HttpContext.Session.SetString(Constants.CurrentQuestionId, questionId);
            return(this.RedirectToAction("AnswerInput", "Answers"));
        }
Exemplo n.º 10
0
        protected override ICollection <string> ResolveCore(QuestionInputModel createInputModel)
        {
            if (createInputModel == null || createInputModel.Tags == null)
            {
                return(null);
            }

            return(createInputModel.Tags.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
        }
        public async Task <IActionResult> AddQuestion(QuestionInputModel input)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var email = user.Email;

            await this.service.AddQuestionAsync(input.Text, email);

            return(this.Redirect("/QuestionsAndAnswers/All"));
        }
        public static IList <Yw_SubjectKnowledge> Fetch(
            QuestionInputModel subject,
            SubjectBll bll,
            int currentUser,
            out IEnumerable <int> toDelete)
        {
            Check.IfNull(subject, nameof(subject));
            Check.IfNull(bll, nameof(bll));
            if (currentUser < 10000)
            {
                throw new ArgumentException(
                          "当前登录用户的ID不能小于10000",
                          nameof(currentUser));
            }
            DateTime now = DateTime.Now;
            IEnumerable <Yw_SubjectKnowledge> knowledgeEntities =
                bll.GetKnowledgesBySubject(subject.Id);
            IEnumerable <Yw_SubjectKnowledge> secondaryKnowledgeEntities =
                knowledgeEntities.Where(k => !k.Ysw_IsMain);
            //前台传过来的次级知识点
            IList <int> knowledges = new List <int>();

            if (subject.Knowledges.HasValue())
            {
                knowledges = subject.Knowledges.Split(',').Select(k => int.Parse(k)).ToList();
            }
            //需要添加的次级知识点
            IEnumerable <Yw_SubjectKnowledge> knowledgesToAdd = null;
            //需要删除的次级知识点
            IEnumerable <int> idsOfknowledgeToDelete = null;
            //数据库的次级知识点
            var knowledgesInDb =
                secondaryKnowledgeEntities.Select(k => k.Ysw_KnowledgeId);

            knowledgesToAdd = knowledges.Except(knowledgesInDb)
                              .Select(k => new Yw_SubjectKnowledge
            {
                Ysw_KnowledgeId = k,
                Ysw_IsMain      = false,
                Ysw_CreateTime  = now,
                Ysw_Creator     = currentUser,
                Ysw_UpdateTime  = now,
                Ysw_Editor      = currentUser
            });
            var knowledgesToDelete = knowledgesInDb.Except(knowledges);

            idsOfknowledgeToDelete =
                secondaryKnowledgeEntities
                .Where(k => knowledgesToDelete.Contains(k.Ysw_KnowledgeId))
                .Select(k => k.Ysw_Id);
            toDelete = idsOfknowledgeToDelete;

            return(knowledgesToAdd.ToList());
        }
Exemplo n.º 13
0
 public QuestionDTO ConvertQuestionInputModelToQuestionDTO(QuestionInputModel questionmodel)
 {
     return(new QuestionDTO()
     {
         TestID = questionmodel.TestID,
         Value = questionmodel.Value,
         TypeID = questionmodel.TypeID,
         AnswersCount = questionmodel.AnswersCount,
         Weight = questionmodel.Weight,
     });
 }
Exemplo n.º 14
0
        public static Action <Yw_Subject> Fetch(
            QuestionInputModel subject,
            SubjectBll bll,
            int currentUser,
            out Yw_Subject entity)
        {
            Check.IfNull(subject, nameof(subject));
            if (currentUser < 10000)
            {
                throw new ArgumentException(
                          "当前登录用户的ID不能小于10000",
                          nameof(currentUser));
            }

            Action <Yw_Subject> saveSubject   = null;
            Yw_Subject          subjectEntity = null;

            if (subject.Id == 0)
            {
                subjectEntity = new Yw_Subject();
                subjectEntity.Ysj_CreateTime = DateTime.Now;
                subjectEntity.Ysj_Creator    = currentUser;
                subjectEntity.Ysj_Status     = (int)SubjectStatusEnum.编辑中;
                saveSubject = bll.InsertSubject;
            }
            else
            {
                subjectEntity = bll.GetSubject(subject.Id);
                saveSubject   = bll.UpdateSubject;
            }
            subjectEntity.Ysj_UpdateTime = DateTime.Now;
            if (!string.IsNullOrWhiteSpace(subject.PlainName))
            {
                string n = subject.PlainName;
                if (n.Length <= 50)
                {
                    subjectEntity.Ysj_Name = n;
                }
                else
                {
                    subjectEntity.Ysj_Name = n.Substring(0, 50);
                }
            }
            subjectEntity.Ysj_Keywords        = subject.Keywords;
            subjectEntity.Ysj_Grade           = subject.Grade;
            subjectEntity.Ysj_Editor          = currentUser;
            subjectEntity.Ysj_Difficulty      = subject.Difficulty;
            subjectEntity.Ysj_SubjectType     = subject.SubjectType;
            subjectEntity.Ysj_MainKnowledgeId = subject.Knowledge;

            entity = subjectEntity;
            return(saveSubject);
        }
Exemplo n.º 15
0
        protected override Yw_SubjectContent GetContent(
            QuestionInputModel sub,
            SubjectBll bll,
            int currentUser,
            Yw_SubjectContent content)
        {
            MultipleChoice          subject       = sub as MultipleChoice;
            Yw_SubjectSelectContent selectContent = null;

            if (content == null)
            {
                selectContent = new Yw_SubjectSelectContent();
                selectContent.Ysc_CreateTime  = DateTime.Now;
                selectContent.Ysc_Creator     = currentUser;
                selectContent.Ysc_SubjectType = subject.SubjectType;
            }
            else
            {
                selectContent = content as Yw_SubjectSelectContent;
            }
            selectContent.Ysc_Editor  = currentUser;
            selectContent.Ysc_Explain = subject.Explain;
            if (subject.ContentType == UeditorType.Image)
            {
                subject.Options = subject.Options.Select(o =>
                                                         UeditorContentFactory.FetchUrl(o, subject.ContentType)).ToList();
            }
            var options = subject.Options
                          .Select((o, i) => new SubjectOption {
                Text = o, Key = i
            })
                          .ToList();

            selectContent.Ysc_Answer_Obj = new SubjectSelectAnswerObj
            {
                Answers = subject.Answers
            };
            string stem = UeditorContentFactory.FetchUrl(subject.Name, subject.StemType);

            selectContent.Ysc_Content_Obj = new SubjectSelectContentObj
            {
                StemType    = (int)subject.StemType,
                Stem        = stem,
                ContentType = (int)subject.ContentType,
                Options     = options,
                Display     = subject.Display,
                Random      = subject.Random
            };
            selectContent.Ysc_UpdateTime = DateTime.Now;

            return(selectContent);
        }
Exemplo n.º 16
0
        public async Task <IActionResult> CreateAsync(QuestionInputModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var questionId = await this.questionsService.CreateAsync(model.Title, model.Description, user.Id);

            return(this.RedirectToAction("ById", new { id = questionId }));
        }
Exemplo n.º 17
0
        public static IList <Yw_SubjectIndex> Fetch(
            QuestionInputModel subject,
            SubjectBll bll,
            int currentUser,
            out IList <int> toDelete)
        {
            Check.IfNull(subject, nameof(subject));
            Check.IfNull(bll, nameof(bll));
            if (currentUser < 10000)
            {
                throw new ArgumentException(
                          "当前登录用户的ID不能小于10000",
                          nameof(currentUser));
            }
            DateTime now = DateTime.Now;
            //前端传值过来的关键词
            IList <string> keywords = new List <string>();

            if (!string.IsNullOrWhiteSpace(subject.Keywords))
            {
                keywords = subject.Keywords.Split(',');
            }

            //数据库中的关键词
            IEnumerable <Yw_SubjectIndex> keywordEntities =
                bll.GetKeywordsBySubject(subject.Id);
            //要删除的关键词
            IList <int> keywordIdsToDelete = null;
            //要添加的关键词
            IList <Yw_SubjectIndex> keywordsToAdd = null;
            IEnumerable <string>    keywordsInDb  =
                keywordEntities.Select(k => k.Ysi_Keyword);
            IEnumerable <string> keywordsToDelete = keywordsInDb.Except(keywords);

            keywordIdsToDelete =
                keywordEntities.Where(k => keywordsToDelete.Contains(k.Ysi_Keyword))
                .Select(k => k.Ysi_Id)
                .ToList();
            keywordsToAdd = keywords.Except(keywordsInDb)
                            .Select(k => new Yw_SubjectIndex
            {
                Ysi_CreateTime = now,
                Ysi_Creator    = currentUser,
                Ysi_Difficulty = subject.Difficulty,
                Ysi_Id         = 0,
                Ysi_Keyword    = k
            }).ToList();

            toDelete = keywordIdsToDelete;
            return(keywordsToAdd);
        }
Exemplo n.º 18
0
        public async Task <string> Create(QuestionInputModel model)
        {
            var cloudinary = SetCloudinary();

            var url = await UploadImage(cloudinary, model.Image, model.QuestionText);

            var question = Mapper.Map <Question>(model);

            question.ImageUrl = url ?? GlobalConstants.NoImageAvailableUrl;

            this.Context.Questions.Add(question);
            await this.Context.SaveChangesAsync();

            return(question.Id);
        }
Exemplo n.º 19
0
        public async Task <IActionResult> Create(QuestionInputModel model)
        {
            if (!this.ModelState.IsValid)
            {
                this.ViewData[GlobalConstants.ExamId] = model.ExamId;
                return(this.View());
            }

            await this.questionService.Create(model);


            return(this.RedirectToAction("Index", "Home"));
            //var assembly = this.assemblyService.GetAssemblyById(model.AssemblyId);
            //return this.RedirectToAction("Details", "Robots", new { id = assembly.RobotId });
        }
Exemplo n.º 20
0
        public static Action<Yw_SubjectKnowledge> Fetch(
            QuestionInputModel subject,
            SubjectBll bll,
            int currentUser,
            out Yw_SubjectKnowledge entity)
        {
            Check.IfNull(subject, nameof(subject));
            Check.IfNull(bll, nameof(bll));
            if (currentUser < 10000)
            {
                throw new ArgumentException(
                    "当前登录用户的ID不能小于10000",
                    nameof(currentUser));
            }

            DateTime now = DateTime.Now;
            Action<Yw_SubjectKnowledge> saveKnowledge = null;
            IEnumerable<Yw_SubjectKnowledge> knowledgeEntities =
                bll.GetKnowledgesBySubject(subject.Id);
            Yw_SubjectKnowledge mainKnowledgeEntity =
                knowledgeEntities.FirstOrDefault(k => k.Ysw_IsMain);
            if (subject.Knowledge == 0)//不在指定主知识点
            {
                saveKnowledge = bll.DeleteKnowledge;
            }
            else
            {
                if (mainKnowledgeEntity == null)
                {
                    mainKnowledgeEntity = new Yw_SubjectKnowledge();
                    mainKnowledgeEntity.Ysw_IsMain = true;
                    mainKnowledgeEntity.Ysw_CreateTime = now;
                    mainKnowledgeEntity.Ysw_Creator = currentUser;
                    saveKnowledge = bll.InsertMainKnowledge;
                }
                else
                {
                    mainKnowledgeEntity.EnableAudit();
                    saveKnowledge = bll.UpdateMainKnowledge;
                }
                mainKnowledgeEntity.Ysw_Editor = currentUser;
                mainKnowledgeEntity.Ysw_KnowledgeId = subject.Knowledge;
                mainKnowledgeEntity.Ysw_UpdateTime = now;
            }

            entity = mainKnowledgeEntity;
            return saveKnowledge;
        }
        public void GivenAValidQuestionAndNoOneIsLoggedIn_Create_ReturnsAResultView()
        {
            // Arrange.
            var questionService     = new QuestionService(DocumentSession);
            var questionsController = new QuestionsController(DocumentSession, questionService);

            ControllerUtilities.SetUpControllerContext(questionsController);
            var createInputModel = new QuestionInputModel();

            // Act.
            var result = questionsController.Create(createInputModel) as ViewResult;

            // Assert.
            Assert.NotNull(result);
            Assert.Equal("Create", result.ViewName);
        }
Exemplo n.º 22
0
        [HttpPost] // Authorize
        public ActionResult Ask(QuestionInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                var q = inputModel.ToQuestion();
                q.CreatedBy = "users/1"; // Just a stupid default because we haven't implemented log-in

                RavenSession.Store(q);
                RavenSession.Store(new Stats(), q.Id + "/stats");

                return(RedirectToAction("Index", "Home", new { area = "" }));
            }

            var viewModel = new AskViewModel(User);

            viewModel.Question = inputModel;
            return(View(viewModel));
        }
        public void GivenAnInvalidQuestion_Create_ReturnsAResultView()
        {
            // Arrange.
            var questionService     = new QuestionService(DocumentSession);
            var questionsController = new QuestionsController(DocumentSession, questionService);

            ControllerUtilities.SetUpControllerContext(questionsController);
            var createInputModel = new QuestionInputModel();

            // Now pretend the model binding raised an error with the input model.
            questionsController.ModelState.AddModelError("key", "error message");

            // Act.
            var result = questionsController.Create(createInputModel) as ViewResult;

            // Assert.
            Assert.NotNull(result);
            Assert.Equal("Create", result.ViewName);
        }
Exemplo n.º 24
0
        [HttpPost] // Authorize
        public ActionResult Ask(QuestionInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                var q = inputModel.ToQuestion();
                q.CreatedBy = "users/1"; // Just a stupid default because we haven't implemented log-in

                return(RedirectToAction("Index", "Home", new { area = "" }));
            }

            dynamic viewModel = new ExpandoObject();

            viewModel.User = new UserViewModel(User)
            {
                Id = User.Identity.Name, Name = User.Identity.Name
            };
            viewModel.Question = inputModel;
            return(View(viewModel));
        }
Exemplo n.º 25
0
        public async Task E_GetByIdAsyncShouldReturnCorrectModel()
        {
            AutoMapperConfig.RegisterMappings(typeof(QuestionInputModel).GetTypeInfo().Assembly);
            var text   = "First question text";
            var quizId = await this.CreateQuizAsync();

            var newQuestionId = await this.Service.CreateQuestionAsync(quizId, text);

            var model = new QuestionInputModel()
            {
                Id   = newQuestionId,
                Text = text,
            };

            var resultModel = await this.Service.GetByIdAsync <QuestionInputModel>(newQuestionId);

            Assert.Equal(model.Id, resultModel.Id);
            Assert.Equal(model.Text, resultModel.Text);
        }
Exemplo n.º 26
0
        public HttpResponseMessage PostQuestion(QuestionInputModel question)
        {
            var dto = question.ToDto();

            using (var ctx = _contextFactory.CreateContext())
            {
                ctx.Questions.Add(dto);
                ctx.SaveChanges();
            }

            return(Request.CreateResponse(HttpStatusCode.Created,
                                          new QuestionInputResultModel
            {
                AnswerText = dto.AnswerText,
                QuestionText = dto.QuestionText,
                QuestionHint = dto.QuestionHint,
                QuestionId = dto.QuestionId
            }));
        }
Exemplo n.º 27
0
        public ActionResult GetDetails2(int id = 0)
        {
            SubjectBll         bll     = new SubjectBll();
            DtoSubject         subject = bll.GetSubjectDetails2(id);
            QuestionInputModel derived = ConvertToDerived2(subject?.Content);

            if (subject != null)
            {
                derived.Difficulty     = subject.Difficulty;
                derived.Explain        = subject.Content.Ysc_Explain;
                derived.Grade          = subject.Grade;
                derived.Id             = subject.Id;
                derived.Mark           = subject.Mark;
                derived.SubjectStatus  = (SubjectStatusEnum)subject.Status;
                derived.Keywords       = subject.Keywords;
                derived.Knowledge      = subject.MainKnowledge;
                derived.KnowledgeText  = subject.MainKnowledgeName;
                derived.Knowledges     = string.Join(",", subject.Knowledges);
                derived.KnowledgeTexts = subject.KnowledgeNames;
                derived.PlainName      = subject.Name;
                derived.Name           = FormatStem(derived.Name);
            }
            else
            {
                derived.Difficulty     = 0;
                derived.Explain        = string.Empty;
                derived.Grade          = 0;
                derived.Id             = 0;
                derived.Mark           = new List <string>();
                derived.SubjectStatus  = SubjectStatusEnum.编辑中;
                derived.Keywords       = string.Empty;
                derived.Knowledge      = 0;
                derived.KnowledgeText  = string.Empty;
                derived.Knowledges     = string.Empty;
                derived.KnowledgeTexts = new List <string>();
                derived.PlainName      = string.Empty;
                derived.Name           = string.Empty;
            }
            var response = new SuccessJsonResponse(derived);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 28
0
        protected override Yw_SubjectContent GetContent(
            QuestionInputModel sub,
            SubjectBll bll,
            int currentUser,
            Yw_SubjectContent content)
        {
            Mark2 subject = sub as Mark2;
            Yw_SubjectMark2Content selectContent = null;

            if (content == null)
            {
                selectContent = new Yw_SubjectMark2Content();
                selectContent.Ysc_CreateTime  = DateTime.Now;
                selectContent.Ysc_Creator     = currentUser;
                selectContent.Ysc_SubjectType = subject.SubjectType;
            }
            else
            {
                selectContent = content as Yw_SubjectMark2Content;
            }
            selectContent.Ysc_Editor      = currentUser;
            selectContent.Ysc_Explain     = subject.Explain;
            selectContent.Ysc_Content_Obj = new SubjectMark2ContentObj
            {
                Alignment = subject.Alignment,
                Color     = subject.Color,
                Content   = subject.Content,
                Stem      = UeditorContentFactory.FetchUrl(subject.Name, subject.StemType),
                StemType  = (int)subject.StemType
            };

            selectContent.Ysc_Answer_Obj = new SubjectMark2AnswerObj
            {
                Answers = GenareteAnswers(subject.Content)
            };
            selectContent.Ysc_UpdateTime = DateTime.Now;

            return(selectContent);
        }
        public void GivenAValidQuestionAndALoggedInUser_Create_AddsTheQuestionAndRedicects()
        {
            // Arrange.
            var questionService     = new QuestionService(DocumentSession);
            var questionsController = new QuestionsController(DocumentSession, questionService);

            ControllerUtilities.SetUpControllerContext(questionsController, "users/1");
            var createInputModel =
                new QuestionInputModel()
            {
                Subject = "aaaad fdds fsd ds",
                Content = "sdhfskfhksd sd",
                Tags    = "ahdakjdh"
            };

            // Act.
            var result = questionsController.Create(createInputModel) as RedirectToRouteResult;

            // Assert.
            Assert.NotNull(result);
            Assert.Equal("Index", result.RouteValues["action"]);
        }
Exemplo n.º 30
0
        public ActionResult GetReadonlyDetails(int id)
        {
            SubjectBll         bll     = new SubjectBll();
            DtoSubject         subject = bll.GetSubjectDetails(id);
            QuestionInputModel derived = ConvertToDerived(subject.Content);

            derived.Difficulty     = subject.Difficulty;
            derived.Explain        = subject.Content.Ysc_Explain;
            derived.Grade          = subject.Grade;
            derived.Id             = subject.Id;
            derived.Mark           = subject.Mark;
            derived.SubjectStatus  = (SubjectStatusEnum)subject.Status;
            derived.Keywords       = subject.Keywords;
            derived.Knowledge      = subject.MainKnowledge;
            derived.KnowledgeText  = subject.MainKnowledgeName;
            derived.Knowledges     = string.Join(",", subject.Knowledges);
            derived.KnowledgeTexts = subject.KnowledgeNames;
            derived.PlainName      = subject.Name;
            derived.Name           = FormatReadonlyStem(derived.Name);
            var response = new SuccessJsonResponse(derived);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }