コード例 #1
0
        public ActionResult List(DataSourceRequest command, string searchValues, IEnumerable <Sort> sort = null)
        {
            var model = _httpContext.Session[SessionKey.MeterSearchModel] as SearchModel;

            if (model == null)
            {
                model = BuildSearchModel();
            }
            else
            {
                model.ClearValues();
            }
            //validate
            var errorFilters = model.Validate(searchValues);

            foreach (var filter in errorFilters)
            {
                ModelState.AddModelError(filter.Name, _localizationService.GetResource(filter.ResourceKey + ".Required"));
            }
            if (ModelState.IsValid)
            {
                //session update
                model.Update(searchValues);
                _httpContext.Session[SessionKey.MeterSearchModel] = model;

                PagedResult <Meter> data = _meterService.GetMeters(model.ToExpression(), model.ToParameters(), command.Page - 1, command.PageSize, sort);

                var gridModel = new DataSourceResult
                {
                    Data  = data.Result.Select(x => x.ToModel()),
                    Total = data.TotalCount
                };
                return(new JsonResult
                {
                    Data = gridModel
                });
            }

            return(Json(new { Errors = ModelState.SerializeErrors() }));
        }
コード例 #2
0
        public ActionResult MeterList(DataSourceRequest command, string searchValues, IEnumerable <Sort> sort = null)
        {
            var model = BuildMeterSearchModel();

            if (ModelState.IsValid)
            {
                model.Update(searchValues);

                PagedResult <Meter> data = _meterService.GetMeters(model.ToExpression(), model.ToParameters(), command.Page - 1, command.PageSize, sort);
                var gridModel            = new DataSourceResult
                {
                    Data  = data.Result.Select(x => new { Id = x.Id, Name = x.Name, Description = x.Description }),
                    Total = data.TotalCount
                };
                return(new JsonResult
                {
                    Data = gridModel
                });
            }
            else
            {
                return(Json(new { Errors = ModelState.SerializeErrors() }));
            }
        }