public List <VM_AttituteViewReport> GetReport14(string userId) { var attitudeViewReports = _reportDal.GetReportAttitude(StoreProcedureName.Rpt_Table14, userId); var selectListItesm = new List <VM_AttituteViewReport>(); var result = attitudeViewReports.GroupBy(q => q.questionType); foreach (var item in Enum.GetValues(typeof(QuestionType))) { var order = (int)item; var sortOrder = order > 100 ? order - 100 : order > 1 ? order + 6 : order; foreach (var item2 in Enum.GetValues(typeof(Gender))) { selectListItesm.Add(new VM_AttituteViewReport() { RowTitle = ((QuestionType)item).ToDescriptionEnum(), ColTitle = ((Gender)item2).ToDescriptionEnum(), Value = attitudeViewReports.Any(q => q.questionType == order && q.Id == (int)item2) ? attitudeViewReports.Single(q => q.questionType == order && q.Id == (int)item2).average : 0, SortOrder = sortOrder }); } } return(selectListItesm.OrderBy(q => q.SortOrder).ToList()); }