Example #1
0
        public object GetQuestionBankList(RequestPaging request)
        {
            IList <FilterModel> filterlist = null;
            string title = null;
            int    type  = -1;

            //IList<SortModel> sortlist = null;
            if (!string.IsNullOrEmpty(request.Filter))
            {
                filterlist = Newtonsoft.Json.JsonConvert.DeserializeObject <IList <FilterModel> >(request.Filter);
            }
            //if(!string.IsNullOrEmpty(request.Sort))
            //{
            //    sortlist = Newtonsoft.Json.JsonConvert.DeserializeObject<IList<SortModel>>(request.Sort);
            //}
            if (filterlist != null)
            {
                var titleFilter = filterlist.FirstOrDefault(x => string.Equals(x.Property.ToLower(), "title"));
                if (titleFilter != null)
                {
                    title = titleFilter.Value.ToStringN();
                }

                var typeFilter = filterlist.FirstOrDefault(x => string.Equals(x.Property.ToLower(), "type"));
                if (typeFilter != null)
                {
                    type = typeFilter.Value.ToInt();
                }
            }

            var table = _questionBankService.QueryByPaged(title, type, null, request.Page - 1, request.Limit);

            var result = table.Select(x =>
            {
                var entity            = CommonHelper.InstanceBy <QuestionBankViewModel, QuestionBank>(x);
                entity.creatorname    = x.Creator.UserName;
                entity.id             = x.Id.ToString();
                entity.userattributes = string.Join(",", x.UserAttributeList.Select(ua => ua.Id.ToString()).ToArray());
                return(entity);
            }).ToList();

            return(new
            {
                total = table.TotalCount,
                data = result
            });
        }