public async Task <IActionResult> AssignDevicePopupList(AssignDeviceSearchModel searchModel) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedKendoGridJson()); } var model = await _licenseModelFactory.PrepareAssignDeviceListModel(searchModel); return(Json(model)); }
public async Task <AssignDeviceSearchModel> PrepareAssignDeviceSearchModel(AssignDeviceSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } await _baseModelFactory.PrepareStores(searchModel.AvailableStores); searchModel.SetPopupGridPageSize(); return(searchModel); }
public async Task <AssignDeviceListModel> PrepareAssignDeviceListModel(AssignDeviceSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } var devices = await _licenseService.GetAssignedDevices( storeIds : searchModel.SelectedStoreIds.ToArray(), serialNo : searchModel.SearchSerialNo, pageIndex : searchModel.Page - 1, pageSize : searchModel.PageSize); var model = new AssignDeviceListModel { Data = devices.Select(device => { var devicesModel = device.ToModel <DeviceModel>(); devicesModel.SelectedStoreId = device.StoreId; devicesModel.StoreName = device.Store != null ? device.Store.P_BranchNo + " - " + device.Store.P_Name : string.Empty; return(devicesModel); }), Total = devices.TotalCount }; // sort if (searchModel.Sort != null && searchModel.Sort.Any()) { foreach (var s in searchModel.Sort) { model.Data = await model.Data.Sort(s.Field, s.Dir); } } // filter if (searchModel.Filter?.Filters != null && searchModel.Filter.Filters.Any()) { var filter = searchModel.Filter; model.Data = await model.Data.Filter(filter); model.Total = model.Data.Count(); } return(model); }