Example #1
0
        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);
        }
Example #2
0
 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
     }));
 }
Example #3
0
        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));
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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)));
            }
        }
Example #6
0
        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));
        }
Example #7
0
        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);
        }
Example #8
0
 private void SaveFiltersData(FilteringViewModel filteringViewModel)
 {
     Serializer.SaveObjectToFile(filteringViewModel.GetState(), savedFiltersPath);
 }