private static GradeDetailDto FindGradeDetails(int gradeId, List <Models.GradeSubTopic> gradeSubTopics, Models.Grade grade) { var Topicgroups = gradeSubTopics.Select(x => x.SubTopic.TopicId).Distinct().ToList(); //var groups = gradeSubTopics.GroupBy(m => m.SubTopic.TopicId); List <GradeTopicDetailDto> gradeTopicDetails = new List <GradeTopicDetailDto>(); foreach (var g in Topicgroups) { var grps = gradeSubTopics.Where(x => x.SubTopic.TopicId == g).ToList(); var gradeSubTopicDto = Mapper.Map <List <GradeSubTopicDto> >(grps); gradeTopicDetails.Add(new GradeTopicDetailDto { TopicId = g, TopicDesc = grps.FirstOrDefault().SubTopic.Topic.TopicDesc, GradeSubTopics = gradeSubTopicDto ?? null, }); } var gradeDetailDto = new GradeDetailDto { GradeId = gradeId, GradeDesc = grade.GradeDesc, GradeDesc2 = grade.GradeDesc2, Topics = gradeTopicDetails, }; return(gradeDetailDto); }
private GradeDetailDto GetFreeAnnonymousSubTopicsByGradeId(GradeDetailDto fullList) { GradeDetailDto lstSubtopicGroupDto = new GradeDetailDto(); List <GradeTopicDetailDto> lstGradeTopic = new List <GradeTopicDetailDto>(); foreach (var lstSubtopic in fullList.Topics) { var GradeSubTopics = lstSubtopic.GradeSubTopics.Where(x => x.SubTopic.IsSignInRequired == false && x.SubTopic.IsPaidRequired == false).ToList(); if (GradeSubTopics.Count > 0) { lstSubtopic.GradeSubTopics = GradeSubTopics; lstGradeTopic.Add(lstSubtopic); } } lstSubtopicGroupDto.Topics = lstGradeTopic; return(lstSubtopicGroupDto); }
public IHttpActionResult GetSubTopicsByGradeIdUserName(int gradeId, string UserName) { GradeDetailDto gradeDetailDto = _gradeService.GetSubTopicsByGradeId(gradeId); return(Ok(gradeDetailDto)); }