예제 #1
0
        public SpeakersViewModel(AzureService azureService = null)
        {
            var service = azureService ?? DependencyService.Get <AzureService>();

            GetSpeakers = ReactiveCommand.CreateFromObservable(() => service.GetSpeakers());

            GetSpeakers
            .ObserveOn(RxApp.MainThreadScheduler)
            .Subscribe(speakers =>
            {
                Speakers.Clear();
                Speakers.AddRange(speakers);
            });

            GetSpeakers.IsExecuting
            .ToProperty(this, vm => vm.IsBusy, out busy);

            GetSpeakers.ThrownExceptions
            .SelectMany(error => ConnectionError.Handle(error))
            .Subscribe();

            // go to details page when Speaker is set
            this.WhenAnyValue(vm => vm.Speaker)
            .Where(speaker => speaker != null)
            .Subscribe(speaker => this.PushPageFromCacheAsync <Details.DetailsViewModel>(vm => vm.Speaker = speaker));

            this.ThrownExceptions
            .Subscribe(ex =>
            {
                Debug.WriteLine(ex.Message);
            });
        }
예제 #2
0
        public MySqlContext(DbContextOptions options) : base(options)
        {
            //Database.EnsureDeleted();
            Database.EnsureCreated();

            if (Articles.Count() == 0)
            {
                PutData data = new PutData();

                Articles.AddRange(data.articles);
                Comments.AddRange(data.comments);

                SuperUsers.Add(data.super);
                TeacherUsers.AddRange(data.teacher);
                StudentUsers.AddRange(data.studentUser);
                TestStudents.AddRange(data.testStudents);
                QuestionAnswers.AddRange(data.questionAnswers);
                Tests.AddRange(data.tests);

                Themes.AddRange(data.themes);
                TestThemes.AddRange(data.TestThemas);
                Questions.AddRange(data.questions1);
                Questions.AddRange(data.questions2);
                Questions.AddRange(data.questions3);
                Marks.AddRange(data.Marks1);
                Marks.AddRange(data.Marks2);

                EventProfileUsers.AddRange(data.EventProfileUsers);
                Meetups.AddRange(data.Meetups);
                Speakers.AddRange(data.Speakers);

                SaveChanges();
            }
        }
        public SpeakersViewModel(AzureService azureService = null)
        {
            var service = azureService ?? DependencyService.Get <AzureService>();

            GetSpeakers = ReactiveCommand.CreateFromTask(_ => service.GetSpeakers());

            GetSpeakers
            .ObserveOn(RxApp.MainThreadScheduler)
            .SubscribeOn(RxApp.MainThreadScheduler)
            .Subscribe(speakers =>
            {
                Speakers.Clear();
                Speakers.AddRange(speakers);
            });

            GetSpeakers.IsExecuting
            .ToProperty(this, vm => vm.IsBusy, out busy);

            GetSpeakers.ThrownExceptions
            .Subscribe(error => Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK"));

            // go to details page when Speaker is set
            this.WhenAnyValue(vm => vm.Speaker)
            .Where(speaker => speaker != null)
            .Subscribe(speaker => this.PushPageFromCacheAsync <DetailsViewModel>(vm => vm.Speaker = speaker));

            this.ThrownExceptions
            .Subscribe(ex =>
            {
                Debug.WriteLine(ex.Message);
            });
        }
        public Speakers FindAll()
        {
            var speakers = GetAllSpeakers(this);

            Func<Speakers> findAll = () =>
            {
                var speakerList = new Speakers();
                speakerList.AddRange(speakers);
                return speakerList;
            };

            return findAll();
        }