Ejemplo n.º 1
0
        private async Task UpdateBanenInfoAsync()
        {
            try
            {
                if (_vereniging == null)
                {
                    _vereniging = await _verenigingRepository.GetVerenigingAsync();
                }
                if (_afhang == null)
                {
                    _afhang = await _verenigingRepository.GetVerenigingSettingsAsync();
                }

                List <Baan> banen = await _baanRepository.GetBanenByDateAsync(_vereniging.Id, _vereniging.AccommodatieId, DateTime.Now);

                ResourceType banenResource = new ResourceType {
                    TypeName = "Banen"
                };

                foreach (Baan baan in banen)
                {
                    banenResource.ResourceCollection.Add(new Resource {
                        DisplayName = baan.Naam, ResourceName = baan.Naam, TypeName = "Banen"
                    });
                }

                Banen.Add(banenResource);
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                throw;
            }
        }
Ejemplo n.º 2
0
        public async Task <Reservering> GetReserveringByIdAsync(Guid reserveringId)
        {
            if (_cachedReserveringen == null || (_today == null || _today < DateTime.Today))
            {
                _cachedReserveringen = new ObservableCollection <Reservering>();

                Vereniging vereniging = await _verenigingRepository.GetVerenigingAsync();

                List <Reservering> reserveringen = await _reserveringService.GetReserveringenAsync(vereniging.Id);

                foreach (Reservering reservering in reserveringen)
                {
                    if (_cachedReserveringen.Count(r => r.Id == reservering.Id) == 0)
                    {
                        reservering.Baan = await _baanRepository.GetBaanAsync(vereniging.Id, vereniging.AccommodatieId, reservering.BaanId.Value);

                        _cachedReserveringen.Add(reservering);
                    }
                }
                _today = DateTime.Today;
            }

            if (_cachedReservering != null && _reserveringId == reserveringId)
            {
                return(_cachedReservering);
            }

            if (_cachedReservering == null)
            {
                CreateEmptyReservering();
            }

            if (_reserveringId == Guid.Empty || _reserveringId != reserveringId)
            {
                _reserveringId = reserveringId;
            }

            if (_reserveringId != Guid.Empty)
            {
                _cachedReservering = _cachedReserveringen.SingleOrDefault(r => r.Id == _reserveringId);
                //Vereniging vereniging = await _verenigingRepository.GetVerenigingAsync();
                //_cachedReservering = await _reserveringService.GetReserveringAsync(vereniging.Id, _reserveringId);
            }

            RaiseReserveringUpdated();

            return(_cachedReservering);
        }
        private async Task UpdateBanenInfoAsync()
        {
            _vereniging = await _verenigingRepository.GetVerenigingAsync();

            _reservering = await _reserveringRepository.GetReserveringAsync();

            List <Baan> banen = await _baanRepository.GetBanenAsync(_vereniging.Id, _vereniging.AccommodatieId);

            ObservableCollection <BaanUserControlViewModel> UnorderedBanen = new ObservableCollection <BaanUserControlViewModel>();

            foreach (Baan baan in banen)
            {
                UnorderedBanen.Add(new BaanUserControlViewModel(baan, _baanRepository, _reserveringRepository, _verenigingRepository, _navigationService, _resourceLoader, _alertMessageService, _eventAggregator));
            }

            ObservableCollection <BaanUserControlViewModel> OrderedBanen = new ObservableCollection <BaanUserControlViewModel>(UnorderedBanen.OrderBy(b => b.BeginTijd).ThenByDescending(b => b.Duur).ThenBy(b => b.Nummer));

            Banen = new ObservableCollection <BaanUserControlViewModel>();

            foreach (BaanUserControlViewModel baan in OrderedBanen)
            {
                Banen.Add(baan);
            }

            /*
             * Banen = new ObservableCollection<BaanUserControlViewModel>();
             * foreach (Baan baan in banen)
             * {
             *  Banen.Add(new BaanUserControlViewModel(baan, _baanRepository, _reserveringRepository,_verenigingRepository, _navigationService, _resourceLoader, _alertMessageService, _eventAggregator));
             * }
             */
        }
Ejemplo n.º 4
0
        private async Task UpdateSpelerImageAsync(Speler speler)
        {
            if (_foto == null)
            {
                _foto = new Models.Foto();
            }

            _foto.ContentData = null;

            if (speler == null)
            {
                _storageFile = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/placeHolderSpeler.png"));

                try
                {
                    IBuffer readbuffer = await FileIO.ReadBufferAsync(_storageFile);

                    _foto.ContentData = readbuffer.ToArray();
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                }
                return;
            }

            if (speler.Id != Guid.Empty && _foto.ContentData == null)
            {
                try
                {
                    Vereniging vereniging = await _verenigingRepository.GetVerenigingAsync();

                    _foto = await _spelerRepository.GetFotoAsync(vereniging.Id, Id);
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                }
                return;
            }
            else
            {
                _storageFile = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/placeHolderSpeler.png"));

                try
                {
                    IBuffer readbuffer = await FileIO.ReadBufferAsync(_storageFile);

                    _foto.ContentData = readbuffer.ToArray();
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                }
            }
        }
Ejemplo n.º 5
0
        private async Task UpdateSpelersInfoAsync()
        {
            _vereniging = await _verenigingRepository.GetVerenigingAsync();

            _reservering = await _reserveringRepository.GetReserveringAsync();

            Spelers = new ObservableCollection <SpelerUserControlViewModel>();

            Speler emptySpeler = new Speler {
                Id = Guid.Empty
            };

            for (int i = 0; i < 4; i++)
            {
                Speler speler = emptySpeler;
                try
                {
                    if (_reservering.Spelers.Count >= i + 1)
                    {
                        speler = _reservering.Spelers[i];
                    }
                }
                catch
                {
                    speler = emptySpeler;
                }

                SpelerUserControlViewModel spelerViewModel = new SpelerUserControlViewModel(i, speler, _spelerRepository, _reserveringRepository, _verenigingRepository, _navigationService, _resourceLoader, _alertMessageService, _eventAggregator);
                //var spelerViewModel = new SpelerViewModel(i, speler, _spelerRepository, _reserveringRepository, _verenigingRepository, _navigationService, _resourceLoader, _alertMessageService, _eventAggregator);
                Spelers.Insert(i, spelerViewModel);
                //_eventAggregator.GetEvent<SpelerUpdatedEvent>().Publish(speler);
                //SpelerViewModels[i] = spelerViewModel;
                //OnPropertyChanged("Spelers");
            }

            /*
             * List<Baan> banen = await _baanRepository.GetBanenAsync(_vereniging.Id);
             * Banen = new ObservableCollection<BaanViewModel>();
             *
             * foreach (Baan baan in banen)
             * {
             *  Banen.Add(new BaanViewModel(baan, _baanRepository, _reserveringRepository, _navigationService, _resourceLoader, _alertMessageService, _eventAggregator));
             * }
             */
        }
        private async Task UpdateSponsorsInfoAsync()
        {
            _vereniging = await _verenigingRepository.GetVerenigingAsync();

            Sponsors = await _sponsorRepository.GetSponsorsAsync(_vereniging.Id);

            if (Sponsors == null || Sponsors.Count == 0)
            {
                if (Sponsors == null)
                {
                    Sponsors = new ObservableCollection <Sponsor>();
                }

                Sponsors.Add(new Sponsor {
                    Id = Guid.NewGuid(), Naam = "Er zijn momenteel geen sponsoren opgegeven.", Type = "item", Path = new Uri("ms-appx:///Assets/placeHolderSponsor.png")
                });
            }
            //Index = 0;
        }
        public async Task <ObservableCollection <Sponsor> > GetSponsorsAsync(Guid verenigingId)
        {
            if (_cachedSponsors == null || (_today == null || _today < DateTime.Today))
            {
                _cachedSponsors = new ObservableCollection <Sponsor>();

                Vereniging vereniging = await _verenigingRepository.GetVerenigingAsync();

                List <Sponsor> sponsoren = await _sponsorService.GetSponsorenAsync(vereniging.Id);

                foreach (Sponsor sponsor in sponsoren)
                {
                    if (_cachedSponsors.Count(s => s.Id == sponsor.Id) == 0)
                    {
                        if (sponsor.AfbeeldingId != null && sponsor.AfbeeldingId.HasValue)
                        {
                            Foto foto = await GetSponsorImageAsync(verenigingId, sponsor.AfbeeldingId.Value);

                            sponsor.Path = new Uri(_baseUri, string.Format("{0}.jpg", sponsor.Id));
                        }
                        else
                        {
                            sponsor.Path = new Uri("ms-appx:///Assets/placeHolderSponsor.png");
                        }

                        _cachedSponsors.Add(sponsor);
                    }
                }

                //Foto _foto = await GetSponsorImageAsync(verenigingId, Guid.Empty);

                _today = DateTime.Today;
            }

            return(_cachedSponsors);
        }
        private async Task RetrieveSpeler()
        {
            if (!string.IsNullOrWhiteSpace(_verenigingsnummer) && !string.IsNullOrWhiteSpace(_bondsnummer))
            {
                Vereniging vereniging = await _verenigingRepository.GetVerenigingAsync();

                Afhang afhang = await _verenigingRepository.GetVerenigingSettingsAsync();

                int uitgavemaand = 4;
                int uitgavejaar  = DateTime.Today.Year - _jaar;

                if (uitgavejaar > 3 || (uitgavejaar >= 3 && DateTime.Today.Month > uitgavemaand))
                {
                    _verenigingsnummer = string.Empty;
                    _bondsnummer       = string.Empty;
                    _jaar     = DateTime.Today.AddYears(-1).Year;
                    CardInput = string.Empty;
                    if (inactivityTimer != null)
                    {
                        inactivityTimer.Stop();
                    }
                    inactivityTimer = null;

                    CardOutput = "Deze pas is verlopen. Gebruik uw nieuwe pas";
                    looking    = false;
                    return;
                }

                if (vereniging != null && vereniging.Nummer == _verenigingsnummer)
                {
                    if (!string.IsNullOrWhiteSpace(_bondsnummer))
                    {
                        _speler = await _spelerRepository.GetSpelerByNummerAsync(vereniging.Id, _bondsnummer);

                        bool already = false;
                        if (_speler != null)
                        {
                            Reservering reservering = await _reserveringRepository.GetReserveringAsync();

                            already       = reservering.Spelers.Count(s => s.Id == _speler.Id) > 0;
                            Reserveringen = new ObservableCollection <Reservering>();
                            Reserveringen = await _reserveringRepository.GetReserveringenBySpelerAsync(_speler.Id);
                        }

                        #region Nieuwe of bestaande reservering wijzigen

                        if (Index != -1)
                        {
                            //Speler zit al in de huidige reservering
                            if (already)
                            {
                                _verenigingsnummer = string.Empty;
                                _bondsnummer       = string.Empty;
                                _jaar     = DateTime.Today.AddYears(-1).Year;
                                CardInput = string.Empty;
                                if (inactivityTimer != null)
                                {
                                    inactivityTimer.Stop();
                                }
                                inactivityTimer = null;

                                CardOutput = "Deze speler is al geselecteerd.";
                                looking    = false;
                                return;
                            }

                            //Speler heeft al andere reserveringen voor vandaag
                            if (_reserveringen.Count > 0)
                            {
                                //Huidig = true;
                                _verenigingsnummer = string.Empty;
                                _bondsnummer       = string.Empty;
                                _jaar     = DateTime.Today.AddYears(-1).Year;
                                CardInput = string.Empty;
                                if (inactivityTimer != null)
                                {
                                    inactivityTimer.Stop();
                                }
                                inactivityTimer = null;

                                CardOutput = "Deze speler heeft al reservering(en) voor vandaag.";
                                looking    = false;
                                return;
                            }

                            //Niet reeds toegevoegd en geen reservingen
                            if (Index >= 0)
                            {
                                await _reserveringRepository.AddSpelerToReserveringAsync(Index, _speler.Id);

                                _verenigingsnummer = string.Empty;
                                _bondsnummer       = string.Empty;
                                _jaar     = DateTime.Today.AddYears(-1).Year;
                                CardInput = string.Empty;
                                if (inactivityTimer != null)
                                {
                                    inactivityTimer.Stop();
                                }
                                inactivityTimer = null;

                                Action navigateAction             = null;
                                var    navigationServiceReference = _navigationService;

                                navigateAction = () => navigationServiceReference.Navigate("Spelers", null);

                                navigateAction = async() =>
                                {
                                    //await reserveringRepositoryReference.SetReserveringAsync(reserveringReference);
                                    navigationServiceReference.Navigate("Spelers", null);
                                };

                                navigateAction();

                                /*
                                 * Action navigateAction = null;
                                 * var navigationServiceReference = _navigationService;
                                 *
                                 * navigateAction = () => navigationServiceReference.Navigate("Spelers", null);
                                 * navigationServiceReference.Navigate("Spelers", null);
                                 * navigateAction();
                                 */
                            }

                            _verenigingsnummer = string.Empty;
                            _bondsnummer       = string.Empty;
                            _jaar     = DateTime.Today.AddYears(-1).Year;
                            CardInput = string.Empty;
                            if (inactivityTimer != null)
                            {
                                inactivityTimer.Stop();
                            }
                            inactivityTimer = null;
                            CardOutput      = "Er zijn geen gegevens gevonden.";
                            looking         = false;
                            return;
                        }

                        #endregion

                        #region Reservering raadplegen

                        if (Index == -1)
                        {
                            if (_reserveringen.Count > 0)
                            {
                                //Bestaand = true;
                                _verenigingsnummer = string.Empty;
                                _bondsnummer       = string.Empty;
                                _jaar     = DateTime.Today.AddYears(-1).Year;
                                CardInput = string.Empty;
                                if (inactivityTimer != null)
                                {
                                    inactivityTimer.Stop();
                                }
                                inactivityTimer = null;

                                CardOutput = "Er zijn " + _reserveringen.Count + " reserveringen gevonden.";
                                if (_reserveringen.Count == 1)
                                {
                                    CardOutput = "Er is " + _reserveringen.Count + " reservering gevonden.";
                                }
                                looking = false;
                                return;
                            }
                            else
                            {
                                _verenigingsnummer = string.Empty;
                                _bondsnummer       = string.Empty;
                                _jaar     = DateTime.Today.AddYears(-1).Year;
                                CardInput = string.Empty;
                                if (inactivityTimer != null)
                                {
                                    inactivityTimer.Stop();
                                }
                                inactivityTimer = null;

                                CardOutput = "Er zijn geen reserveringen gevonden.";
                                looking    = false;
                                return;
                            }
                        }

                        #endregion

                        _verenigingsnummer = string.Empty;
                        _bondsnummer       = string.Empty;
                        _jaar     = DateTime.Today.AddYears(-1).Year;
                        CardInput = string.Empty;
                        if (inactivityTimer != null)
                        {
                            inactivityTimer.Stop();
                        }
                        inactivityTimer = null;

                        CardOutput = string.Empty;
                        looking    = false;
                        return;
                    }
                }
                else
                {
                    _verenigingsnummer = string.Empty;
                    _bondsnummer       = string.Empty;
                    _jaar     = DateTime.Today.AddYears(-1).Year;
                    CardInput = string.Empty;
                    if (inactivityTimer != null)
                    {
                        inactivityTimer.Stop();
                    }
                    inactivityTimer = null;

                    CardOutput = "Deze speler is geen lid van de vereniging";
                    looking    = false;
                    return;
                }

                /*
                 * _verenigingsnummer = string.Empty;
                 * _bondsnummer = string.Empty;
                 * _jaar = DateTime.Today.AddYears(-1).Year;
                 * CardInput = string.Empty;
                 * if (inactivityTimer != null) inactivityTimer.Stop();
                 * inactivityTimer = null;
                 *
                 * CardOutput = string.Empty;
                 * return;
                 */
            }
        }
 private async Task UpdateMainInfoAsync()
 {
     Vereniging = await _verenigingRepository.GetVerenigingAsync();
 }