public static List <AssessActivity> GetAssessActivityByEmployeeStatus(int EmployeeID, AssessStatus Status) { var assessActivitylist = AssessActiveityDA.GetAssessActivityByEmployeeStatus(EmployeeID, Status); var list = assessActivitylist.Select(AssessActivityEntity.Convert).ToList(); var ids = list.Select(x => x.AssessActivityID).ToList(); var items = AssessActivityItemDA.GetByAssessActivityIDs(ids); var papers = AssessActivityPaperDA.GetByAssessActivityIDs(ids); for (var i = 0; i < list.Count; i++) { list[i].ItsAssessActivityPaper.SubmitInfoes = papers.Where(x => x.AssessActivityID == list[i].AssessActivityID).Select(AssessActivityPaperEntity.Convert).ToList(); foreach (var submitInfoe in list[i].ItsAssessActivityPaper.SubmitInfoes) { submitInfoe.ItsAssessActivityItems = new List <AssessActivityItem>(); submitInfoe.ItsAssessActivityItems.AddRange(items.Where(x => x.AssessActivityPaperID == submitInfoe.SubmitInfoID).Select(AssessActivityItemEntity.Convert).ToList()); } } foreach (AssessActivity activity in list) { activity.ItsEmployee.Account = BllInstance.AccountBllInstance.GetAccountById(activity.ItsEmployee.Account.Id); } return(list); }
private static void BindItemInfo(PagerEntity pagerEntity, List <AssessActivity> ans) { var ids = new List <int>(); for (var i = pagerEntity.PageIndex * pagerEntity.PageSize; i < ((pagerEntity.PageIndex + 1) * pagerEntity.PageSize) && i < ans.Count; i++) { ids.Add(ans[i].AssessActivityID); } var items = AssessActivityItemDA.GetByAssessActivityIDs(ids); var papers = AssessActivityPaperDA.GetByAssessActivityIDs(ids); for (var i = pagerEntity.PageIndex * pagerEntity.PageSize; i < ((pagerEntity.PageIndex + 1) * pagerEntity.PageSize) && i < ans.Count; i++) { ans[i].ItsAssessActivityPaper.SubmitInfoes = papers.Where(x => x.AssessActivityID == ans[i].AssessActivityID) .Select(AssessActivityPaperEntity.Convert) .ToList(); foreach (var submitInfoe in ans[i].ItsAssessActivityPaper.SubmitInfoes) { submitInfoe.ItsAssessActivityItems = new List <AssessActivityItem>(); submitInfoe.ItsAssessActivityItems.AddRange( items.Where(x => x.AssessActivityPaperID == submitInfoe.SubmitInfoID) .Select(AssessActivityItemEntity.Convert) .ToList()); } } }