public async Task <QuestionTypeDto> Insert(QuestionTypeDto request) { var entity = AutoMapper.Mapper.Map <QuestionType>(request); var result = await entityRepository.InsertAsync(entity); return(AutoMapper.Mapper.Map <QuestionTypeDto>(result)); }
public async Task <QuestionTypeDto> Update(QuestionTypeDto request) { var entity = AutoMapper.Mapper.Map <QuestionType>(request); request.IsDeleted = true; var result = await entityRepository.UpdateAsync(entity); return(AutoMapper.Mapper.Map <QuestionTypeDto>(result)); }
public static QuestionTypeDto ToQuestionTypeDto(this QuestionType questionType) { if (questionType == null) { return(null); } var questionTypeDto = new QuestionTypeDto { Id = questionType.Id, Type = questionType.Type, QuestionsList = questionType.Questions.Select(x => x.ToQuestionDto()).ToList() }; return(questionTypeDto); }
public async Task <bool> SaveAsync(QuestionTypeDto model) { if (model.QuestionType.Id == 0) { GetDbSet <QuestionType>().Add(model.QuestionType); await SaveChangesAsync(); } else { Attach(model.QuestionType, EntityState.Modified); } List <int> questionChapterIdList = model.QuestionChapters.Where(o => o.Id > 0).Select(o => o.Id).ToList(); var chapterDb = GetDbSet <QuestionChapter>(); List <QuestionChapter> chapterList = chapterDb.Where(o => o.QuestionTypeId == model.QuestionType.Id && !questionChapterIdList.Contains(o.Id)).ToList(); List <int> deleteChapterIdList = chapterList.Select(o => o.Id).ToList(); List <Question> questionList = _Db.Questions.Where(o => o.QuestionTypeId == model.QuestionType.Id && deleteChapterIdList.Contains(o.QuestionChapterId)).ToList(); _Db.Questions.RemoveRange(questionList); chapterDb.RemoveRange(chapterList); model.QuestionChapters.ForEach(o => { o.QuestionTypeId = model.QuestionType.Id; if (o.Id > 0) { Attach(o, EntityState.Modified); } else { _Db.QuestionChapters.Add(o); } }); return(await SaveChangesAsync()); }
public async Task <ActionResult> Save(QuestionTypeDto model) { bool result = await _helper.SaveAsync(model); return(Success(result)); }