/// <summary> /// Gets a filtered and paginated list of LifeCycleManagers /// </summary> /// <param name="query">containing pagenumber, itemcount, name, project and status</param> /// <returns>DevicesListViewDataModel containing the devices, query and amount of pages</returns> private async Task <DevicesListViewModel> FilterDevices(DevicesFilter query) { if (query.Status.Equals("ALL")) { query.Status = ""; } string httpResponse = await restService.PostRequest($"/api/devices", query); DevicesListViewModel response = ParseJSONResponse(httpResponse); response.Filter = query; return(response); }
public IActionResult Filter(DevicesFilter filter) { if (filter.Project == null) { filter.Project = ""; } if (filter.Name == null) { filter.Name = ""; } return(RedirectToAction("Index", new { page = filter.Page, items = filter.Items, name = filter.Name, project = filter.Project, status = filter.Status })); }
public void EmptyProjectFilter() { DevicesListViewController devicesListViewController = new DevicesListViewController(fakeDataRestService); DevicesFilter nullFilter = new DevicesFilter(); nullFilter.Project = null; nullFilter.Name = null; nullFilter.Status = "ALL"; Assert.Null(nullFilter.Project); Assert.Null(nullFilter.Name); RedirectToActionResult redirectResult = (RedirectToActionResult)devicesListViewController.Filter(nullFilter); Assert.NotNull(redirectResult); Assert.Equal(1, redirectResult.RouteValues["page"]); Assert.Equal(25, redirectResult.RouteValues["items"]); Assert.Equal("", redirectResult.RouteValues["name"]); Assert.Equal("", redirectResult.RouteValues["project"]); Assert.Equal("ALL", redirectResult.RouteValues["status"]); }
public DevicesDataController() { _filter = new DevicesFilter(_repo.GetDevices()); }
public DevicesListViewModel(IDeviceRelatedRepository repo, IUserSession userSession) { Repository = repo; UserSession = userSession; AllDevices = Repository.AllDevices.ToList(); InitDevicesLocationWithInstances(); FilterDevicesAccordingToCriteria(); ShowAddDeviceViewCommand = RegisterCommandAction( (obj) => { AddDeviceView = new AddDeviceView(); AddDeviceView.DataContext = ResolveDependency <IAddDeviceViewModel>(); AddDeviceView.ShowDialog(); }, (obj) => UserSession.IsAuthorizedUserAllowedTo(UserActions.AddDevice) ); RemoveDeviceCommand = RegisterCommandAction( (obj) => { Repository.RemoveDevice(SelectedDevice); Repository.DeleteAllDeviceMovementHistory(SelectedDevice); Repository.SaveChanges(); AllDevices.Remove(AllDevices.Find(d => d.ID == SelectedDevice.ID)); FilteredDevices.Remove(SelectedDevice); }, (obj) => { if (UserSession.IsAuthorizedUserAllowedTo(UserActions.RemoveDevice)) { return(SelectedDevice != null); } else { return(false); } } ); SubscribeActionOnDeviceAddition( (device) => { device.DeviceType = Repository.AllDeviceTypes.Single(dt => dt.ID == device.DeviceTypeID); device.Cabinet = Repository.FindCabinet(device.CabinetID); device.Cabinet.Housing = DeviceLocationViewModel. AllHousings. First(h => h.ID == device.Cabinet.HousingID); AllDevices.Add(device); if (DevicesFilter.DoesMeetSearchingAndFilteringCriteria(device)) { FilteredDevices.Add(device); } } ); SubscribeActionOnFilteringCriteraChanges( (filteredDevices) => FilteredDevices = filteredDevices.ToObservableCollection() ); }