private async Task <Guid> SaveQuestion(BaseQuestionModel data, bool IsAllowMultipleOptionAnswers, Guid?optionGroupId, Guid typeid, Guid?ParentId) { QuestionsDto questionDto = new QuestionsDto() { Name = data.Text, ParentId = ParentId != null ? ParentId : null, Description = data.Description, Required = data.Required, OrderNo = data.Order, AdditionalAnswer = data.IsAdditionalAnswer, AllowMultipleOptionAnswers = false, InputTypesId = typeid, PageId = pageId, OptionGroupId = optionGroupId }; using (var uow = UowProvider.CreateUnitOfWork()) { Questions questionEntity = Mapper.Map <QuestionsDto, Questions>(questionDto); var repositoryQuestion = uow.GetRepository <Questions, Guid>(); await repositoryQuestion.AddAsync(questionEntity); await uow.SaveChangesAsync(); return(questionEntity.Id); } }
private BaseQuestionModel GetGridRadioQuestion(QuestionsDto questionDto, string type) { var rowQuestions = GetListByBaseQuestion(questionDto.Id).Result; var colOptionChoises = _optionChoiceService.GetListByOptionGroup(questionDto.OptionGroupId).Result; GridRadioQuestionModel gridQuestion = new GridRadioQuestionModel() { Id = questionDto.Id.ToString(), Text = questionDto.Name, Order = questionDto.OrderNo, ControlType = type, Description = questionDto.Description, IsAdditionalAnswer = questionDto.AdditionalAnswer, Required = questionDto.Required, Grid = new GridOptionsModel() { Rows = new List <ItemModel>(), Cols = colOptionChoises } }; foreach (var row in rowQuestions) { ItemModel item = new ItemModel() { Id = row.Id.ToString(), Label = "", Value = row.Name, Order = 0 // stub }; gridQuestion.Grid.Rows.Add(item); } return(gridQuestion as BaseQuestionModel); }
private QuestionsDto FormDto(List <Question> a, int count) { var array = _mapper.Map <IEnumerable <Question>, IEnumerable <QuestionDto> >(a); var result = new QuestionsDto { CountQuestions = count, QuestionsArray = array }; return(result); }
public async Task <IActionResult> IsActive(QuestionsDto questionsDto) { if (questionsDto.IsActive) { questionsDto.IsActive = false; await _repoQuestions.UpdateAsync(_mapper.Map <Questions>(questionsDto)); } else { questionsDto.IsActive = true; await _repoQuestions.UpdateAsync(_mapper.Map <Questions>(questionsDto)); } return(Ok(questionsDto)); }
private BaseQuestionModel GetTextareaQuestion(QuestionsDto questionDto, string type) { TextAreaQuestionModel textareaQuestion = new TextAreaQuestionModel() { Id = questionDto.Id.ToString(), Text = questionDto.Name, Order = questionDto.OrderNo, ControlType = type, Description = questionDto.Description, IsAdditionalAnswer = questionDto.AdditionalAnswer, Required = questionDto.Required, }; return(textareaQuestion as BaseQuestionModel); }
private BaseQuestionModel GetDropdownQuestion(QuestionsDto questionDto, string type) { var options = _optionChoiceService.GetListByOptionGroup(questionDto.OptionGroupId).Result; DropdownQuestionModel dropdownQuestion = new DropdownQuestionModel() { Id = questionDto.Id.ToString(), Text = questionDto.Name, Order = questionDto.OrderNo, ControlType = type, Description = questionDto.Description, IsAdditionalAnswer = questionDto.AdditionalAnswer, Required = questionDto.Required, Options = options }; return(dropdownQuestion as BaseQuestionModel); }
public IActionResult Create([FromBody] QuestionsDto questionsdto) { if (questionsdto == null) { return(BadRequest(new { message = "Bad request" })); } try { // map dto to entity var question = _mapper.Map <Questions>(questionsdto); question.CreatedOn = DateTime.Now; _questionService.Create(question); var questionoptions = questionsdto.Qoptions; foreach (var item in questionoptions) { var option = _mapper.Map <QuestionOption>(item); option.CreatedOn = DateTime.Now; option.QuestionId = question.Id; _optionservice.Create(option); } var questionResult = _mapper.Map <QuestionsDto>(question); var options = _optionservice.GetByQuestionId(question.Id); List <QuestionOptionDto> questionoptdto = new List <QuestionOptionDto>(); foreach (var questionopt in options) { questionoptdto.Add(_mapper.Map <QuestionOptionDto>(questionopt)); } questionResult.Qoptions = questionoptdto; return(Ok(questionResult)); } catch (Exception ex) { // return error message if there was an exception return(BadRequest(new { message = ex.Message })); } }
public async Task <IActionResult> Update(QuestionsDto questionsDto) { await _repoQuestions.UpdateAsync(_mapper.Map <Questions>(questionsDto)); return(NoContent()); }
public async Task <IActionResult> Save(QuestionsDto questionsDto) { var newQuestion = await _repoQuestions.InsertAsync(_mapper.Map <Questions>(questionsDto)); return(Created(new Uri(Request.Path, UriKind.Relative), newQuestion)); }