コード例 #1
0
        internal async Task LoadAsync(UserAuthDto connectedUser, List <Volunteer> volunteers, List <School> schools)
        {
            try
            {
                foreach (var volunteer in volunteers)
                {
                    _volunteersDto.Add(new BaseEntityDto <Volunteer>(volunteer));
                }
                foreach (var school in schools)
                {
                    _schools.Add(new BaseEntityDto <School>(school));
                }
                ProggressBarVisible(true);
                _connectedUserAuth = connectedUser;
                _volunteers        = volunteers;
                _httpClientService.SetAuthorizationHeaderToken(_httpClientService.HttpClient, _connectedUserAuth.Token);

                foreach (var value in await EntityLoadingHelper.LoadProjectsAsync(_volunteers.Take(1).ToList(), _httpClientService, _projects.ToList()))
                {
                    _projects.Add(value);
                    _allProjects.Add(value);
                }
                RaisePropertyChanged(nameof(Projects));
                RaisePropertyChanged(nameof(SelectedMainType));
                ProggressBarVisible(false);
                await LoadRemainingProjects(1);
            }
            catch (Exception ex)
            {
                MessageDialog messageDialog = new MessageDialog("An error occured: " + ex.Message);
                await messageDialog.ShowAsync();
            }
        }
コード例 #2
0
        public async Task LoadAsync(BaseEntityDto <Volunteer> volunteer)
        {
            try
            {
                _volunteersDto = new List <BaseEntityDto <Volunteer> >()
                {
                    new BaseEntityDto <Volunteer>(volunteer.Entity)
                };
                var school = await _httpClientService.GetTAsync <School>($"school/getbyid/{volunteer.Entity.SchoolVolunteers.First(s => s.IsActual == true)}");

                _schools = new List <BaseEntityDto <School> >
                {
                    new BaseEntityDto <School>(school)
                };
                ProggressBarVisible(true);
                _connectedUserAuth = volunteer.ConnectedUser;
                _httpClientService.SetAuthorizationHeaderToken(_httpClientService.HttpClient, _connectedUserAuth.Token);
                _projects = new ObservableCollection <ProjectDto>(await EntityLoadingHelper.LoadProjectsAsync(new List <Volunteer> {
                    volunteer.Entity
                }, _httpClientService, _projects.ToList()));
                _allProjects = _projects.ToList();
                RaisePropertyChanged(nameof(Projects));
            }
            catch (Exception ex)
            {
                MessageDialog messageDialog = new MessageDialog("An error occured: " + ex.Message);
                await messageDialog.ShowAsync();
            }
            finally
            {
                ProggressBarVisible(false);
            }
        }
コード例 #3
0
        private async Task LoadRemainingProjects(int numberOfItemsToLoad)
        {
            var loadedProjects = numberOfItemsToLoad;

            foreach (var value in await EntityLoadingHelper.LoadProjectsAsync(_volunteers.Skip(loadedProjects).Take(numberOfItemsToLoad).ToList(), _httpClientService, _projects.ToList()))
            {
                var selectedProject = _projects.FirstOrDefault(p => p.Project.Id == value.Project.Id);
                if (selectedProject == null)
                {
                    _projects.Add(value);
                    _allProjects.Add(value);
                    RaisePropertyChanged(nameof(Projects));
                }
            }
        }
コード例 #4
0
        public async Task LoadAsync(BaseEntityDto <Volunteer> volunteer)
        {
            ProggressBarVisible(true);
            _volunteer          = volunteer;
            _connectedVolunteer = _volunteer.Entity;
            _connectedUserAuth  = volunteer.ConnectedUser;
            _httpClientService.SetAuthorizationHeaderToken(_httpClientService.HttpClient, _connectedUserAuth.Token);
            _projectVolView = new ProjectVolView(volunteer);
            _reportsVolView = new ReportsVolView(_connectedUserAuth);
            ProggressBarVisible(false);
            var school = await _httpClientService.GetTAsync <School>($"school/getbyid/{volunteer.Entity.SchoolVolunteers.First(s => s.IsActual == true)}");

            var projects = await EntityLoadingHelper.LoadProjectsAsync(new List <Volunteer> {
                _connectedVolunteer
            }, _httpClientService, new List <ProjectDto>(), _connectedUserAuth);

            _projectVolView = new ProjectVolView(projects, new List <Volunteer> {
                volunteer.Entity
            }, new List <School> {
                school
            });
        }
コード例 #5
0
 private async Task <List <ProjectDto> > LoadProjectsAsync(List <Volunteer> volunteers)
 {
     return(await EntityLoadingHelper.LoadProjectsAsync(_volunteers, _httpClientService, new List <ProjectDto>(), _connectedUserAuth));
 }