/// <summary> /// Prepare paged measure dimension list model /// </summary> /// <param name="searchModel">Measure dimension search model</param> /// <returns>Measure dimension list model</returns> public virtual MeasureDimensionListModel PrepareMeasureDimensionListModel(MeasureDimensionSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get dimensions var dimensions = _measureService.GetAllMeasureDimensions(); //prepare list model var model = new MeasureDimensionListModel { Data = dimensions.PaginationByRequestModel(searchModel).Select(dimension => { //fill in model values from the entity var dimensionModel = dimension.ToModel <MeasureDimensionModel>(); //fill in additional values (not existing in the entity) dimensionModel.IsPrimaryDimension = dimension.Id == _measureSettings.BaseDimensionId; return(dimensionModel); }), Total = dimensions.Count }; return(model); }
/// <summary> /// Prepare paged measure dimension list model /// </summary> /// <param name="searchModel">Measure dimension search model</param> /// <returns> /// A task that represents the asynchronous operation /// The task result contains the measure dimension list model /// </returns> public virtual async Task <MeasureDimensionListModel> PrepareMeasureDimensionListModelAsync(MeasureDimensionSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get dimensions var dimensions = (await _measureService.GetAllMeasureDimensionsAsync()).ToPagedList(searchModel); //prepare list model var model = new MeasureDimensionListModel().PrepareToGrid(searchModel, dimensions, () => { return(dimensions.Select(dimension => { //fill in model values from the entity var dimensionModel = dimension.ToModel <MeasureDimensionModel>(); //fill in additional values (not existing in the entity) dimensionModel.IsPrimaryDimension = dimension.Id == _measureSettings.BaseDimensionId; return dimensionModel; })); }); return(model); }