private IList <SortDescriptor> BuildFrom(CustomReportBaseDataViewModel entity) { if (this.Request.Params.AllKeys.Contains("sort[0][field]")) { var dir = ListSortDirection.Ascending; if (this.Request.Params.AllKeys.Contains("sort[0][dir]")) { dir = this.Request.Params.GetValues("sort[0][dir]")[0] == "desc" ? ListSortDirection.Descending : ListSortDirection.Ascending; } return(new List <SortDescriptor>() { new SortDescriptor(this.Request.Params.GetValues("sort[0][field]")[0], dir) }); } else { return(new List <SortDescriptor>() { new SortDescriptor(entity.SortField, entity.SortOrder) }); } }
private IEnumerable <CustomReportFilterViewModel> GetFilters(CustomReportView_ViewModel model, CustomReportBaseDataViewModel it) { Regex rg = new Regex(@"\(.*?\)"); model.ValuesListString = rg.Replace(model.ValuesListString, "").Replace(" GMT+", ".").Replace(" GMT ", "."); model.ValuesList = model.ValuesListString.Split(';').ToList(); model.IdsList = model.IdsListString.Split(';').Select(x => long.Parse(x)).ToList(); var filters = model.IdsList.Zip(model.ValuesList, (i, v) => new { Id = i, Value = v }).Where(x => !String.IsNullOrEmpty(x.Value)).ToList(); var initFilters = it.GetAllAvailableFilters(Db); var res = from f in filters join i in initFilters on f.Id equals i.Id select new CustomReportFilterViewModel() { Id = i.Id, Field = i.Field, Operation = i.Operation, ValueString = f.Value, Value = SystemTypeHelper.GetObjectByString(f.Value, i.Field.DataType, i.Multi) }; return(res.Where(x => !String.IsNullOrEmpty(x.ValueString))); }