public async Task <IActionResult> GetGradeList(JQueryDataTableParamModel param) { using (var txscope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { try { var parameters = CommonMethod.GetJQueryDatatableParamList(param, GetSortingColumnName(param.iSortCol_0)); var allList = await _gradeService.GetGradeList(parameters.Parameters.ToArray()); foreach (var grade in allList) { grade.lessonList = new List <LessonDto>(); var llist = Mapper.Map <List <LessonDto> >(_lessonService.GetAll(x => x.GradeId == grade.Id && x.IsDelete == false).ToList()); if (llist.Count > 0) { grade.lessonList.AddRange(llist); } } var total = allList.FirstOrDefault()?.TotalRecords ?? 0; return(Json(new { param.sEcho, iTotalRecords = total, iTotalDisplayRecords = total, aaData = allList })); } catch (Exception ex) { ErrorLog.AddErrorLog(ex, "GetGradeList"); return(Json(new { param.sEcho, iTotalRecords = 0, iTotalDisplayRecords = 0, aaData = "" })); } } }