コード例 #1
0
 public ActionResult List(Models.SurveyItem.List vm)
 {
     return(Code.MvcHelper.Post(null, Url.Action("List", new
     {
         searchText = vm.SearchText,
         surveyId = vm.SurveyId,
     })));
 }
コード例 #2
0
        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));
            }
        }