public ActionResult List(Models.SurveyItem.List vm) { return(Code.MvcHelper.Post(null, Url.Action("List", new { searchText = vm.SearchText, surveyId = vm.SurveyId, }))); }
public ActionResult List() { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.SurveyItem.List(); vm.SurveyName = db.Table <Entity.tbSurvey>().FirstOrDefault(d => d.Id == vm.SurveyId).SurveyName; vm.SurveyGroupList = Controllers.SurveyGroupController.SelectList(vm.SurveyId); var tb = from p in db.Table <Entity.tbSurveyItem>() where p.tbSurveyGroup.tbSurvey.Id == vm.SurveyId select p; if (string.IsNullOrEmpty(vm.SearchText) == false) { tb = tb.Where(d => d.SurveyItemName.Contains(vm.SearchText)); } vm.SurveyItemList = (from p in tb orderby p.tbSurveyGroup.No, p.No select new Dto.SurveyItem.List { Id = p.Id, No = p.No, SurveyGroupId = p.tbSurveyGroup.Id, SurveyItemName = p.SurveyItemName, IsVertical = p.IsVertical, SurveyItemType = p.SurveyItemType, TextMaxLength = p.TextMaxLength }).ToList(); var optionList = (from p in db.Table <Entity.tbSurveyOption>() where p.tbSurveyItem.tbSurveyGroup.tbSurvey.Id == vm.SurveyId group p by p.tbSurveyItem.Id into g select new { ItemId = g.Key, OptionCount = g.Count() }).ToList(); foreach (var item in vm.SurveyItemList) { item.OptionCount = optionList.Where(d => d.ItemId == item.Id).Select(d => d.OptionCount).FirstOrDefault(); } return(View(vm)); } }