public MainWindow() { InitializeComponent(); ProgressBarViewModel progressBarViewModel = new ProgressBarViewModel(); ProgressPanel.DataContext = progressBarViewModel; FilteringViewModel filteringViewModel = new FilteringViewModel(); LoadFiltersData(filteringViewModel); Closing += (s, e) => SaveFiltersData(filteringViewModel); FilterPanel.DataContext = filteringViewModel; FilesListViewModel filesListViewModel = new FilesListViewModel(filteringViewModel.GetFilteringManager(), progressBarViewModel.GetProgressBarManager()); FilesPanel.DataContext = filesListViewModel; WindowViewModel windowViewModel = new WindowViewModel(progressBarViewModel.GetProgressBarManager(), filesListViewModel.GetFilesListManager()); this.Drop += (s, e) => ProcessWindowDrop(e, windowViewModel); DataContext = windowViewModel; FilesList.ItemContainerStyle.Setters.Add(new EventSetter( DataGridRow.MouseDoubleClickEvent, new MouseButtonEventHandler((s, e) => FilesList_MouseDoubleClick(s, windowViewModel.WindowState, windowViewModel.PathValue)))); RegisterUncaughtExpectionsHandler(AppDomain.CurrentDomain); }
public async Task <ActionResult> ApplyFilter(FilteringViewModel filter) { SetBreadcrumb(filter.FacilityType, null); return(View(nameof(ManageAatfs), new ManageAatfsViewModel { AatfDataList = await GetAatfs(filter.FacilityType, filter), CanAddAatf = IsUserInternalAdmin(), Filter = filter, FacilityType = filter.FacilityType })); }
public async Task <ActionResult> Index(string name, string organisationName, UserStatus?status, FindMatchingUsers.OrderBy orderBy = FindMatchingUsers.OrderBy.FullNameAscending, int page = 1) { var filter = new FilteringViewModel() { Name = name, OrganisationName = organisationName, Status = status }; var model = await GetManageUsersViewModel(orderBy, page, filter); return(View(nameof(Index), model)); }
private void LoadFiltersData(FilteringViewModel filteringViewModel) { FilteringModel.FilteringState savedFilters = null; try { savedFilters = Serializer.LoadObjectFromFile(savedFiltersPath) as FilteringModel.FilteringState; } catch (SerializationException) { WindowHelper.ShowError("Failed to restore previous data. Corrupted files will be overwritten."); } if (savedFilters != null) { filteringViewModel.SetState(savedFilters); } }
private async Task <List <AatfDataList> > GetAatfs(FacilityType facilityType, FilteringViewModel filter = null) { using (var client = apiClient()) { var mappedFilter = filter != null?mapper.Map <AatfFilter>(filter) : null; return(await client.SendAsync(User.GetAccessToken(), new GetAatfs(facilityType, mappedFilter))); } }
public async Task <ActionResult> ApplyFilter(FilteringViewModel filter, FindMatchingUsers.OrderBy orderBy = FindMatchingUsers.OrderBy.FullNameAscending, int page = 1) { var model = await GetManageUsersViewModel(orderBy, page, filter); return(View(nameof(Index), model)); }
private async Task <ManageUsersViewModel> GetManageUsersViewModel(FindMatchingUsers.OrderBy orderBy, int page, FilteringViewModel filter = null) { SetBreadcrumb(); if (page < 1) { page = 1; } var model = new ManageUsersViewModel(); using (var client = apiClient()) { var mappedFilter = mapper.Map <UserFilter>(filter); var query = new FindMatchingUsers(page, DefaultPageSize, orderBy, mappedFilter); var usersSearchResultData = await client.SendAsync(User.GetAccessToken(), query); model.Users = usersSearchResultData.Results.ToPagedList(page - 1, DefaultPageSize, usersSearchResultData.UsersCount); model.OrderBy = orderBy; model.Filter = filter ?? new FilteringViewModel(); } return(model); }
private void SaveFiltersData(FilteringViewModel filteringViewModel) { Serializer.SaveObjectToFile(filteringViewModel.GetState(), savedFiltersPath); }