Esempio n. 1
0
        private void ViewModelOnBasicDataLoaded()
        {
            //left details
            AnimeDetailsPageGeneralTabFragmentType.Text    = ViewModel.RightDetailsRow[0].Item2;
            AnimeDetailsPageGeneralTabFragmentStatus.Text  = ViewModel.RightDetailsRow[1].Item2;
            AnimeDetailsPageGeneralTabFragmentEnd.Text     = ViewModel.RightDetailsRow[2].Item2;
            AnimeDetailsPageGeneralTabFragmentMyStart.Text = ViewModel.MyStartDate;
            AnimeDetailsPageGeneralTabFragmentMyStartButton.SetOnClickListener(new OnClickListener(view =>
            {
                var date             = ViewModel.StartDateValid ? ViewModel.StartDateTimeOffset : DateTimeOffset.Now;
                DatePickerDialog dpd = new DatePickerDialog(Activity, new DateSetListener((i, i1, arg3) =>
                {
                    ViewModel.StartDateTimeOffset = new DateTimeOffset(i, i1, arg3, 0, 0, 0, TimeSpan.Zero);
                    AnimeDetailsPageGeneralTabFragmentMyStart.Text = ViewModel.MyStartDate;
                }),
                                                            date.Year, date.Month, date.Day);
                dpd.Show();
            }));

            //right details
            AnimeDetailsPageGeneralTabFragmentEpisodes.Text = ViewModel.LeftDetailsRow[0].Item2;
            AnimeDetailsPageGeneralTabFragmentScore.Text    = ViewModel.LeftDetailsRow[1].Item2;
            AnimeDetailsPageGeneralTabFragmentStart.Text    = ViewModel.LeftDetailsRow[2].Item2;
            AnimeDetailsPageGeneralTabFragmentMyEnd.Text    = ViewModel.MyEndDate;
            AnimeDetailsPageGeneralTabFragmentMyEndButton.SetOnClickListener(new OnClickListener(view =>
            {
                var date             = ViewModel.EndDateValid ? ViewModel.EndDateTimeOffset : DateTimeOffset.Now;
                DatePickerDialog dpd = new DatePickerDialog(Activity, new DateSetListener((i, i1, arg3) =>
                {
                    ViewModel.EndDateTimeOffset = new DateTimeOffset(i, i1, arg3, 0, 0, 0, TimeSpan.Zero);
                    AnimeDetailsPageGeneralTabFragmentMyEnd.Text = ViewModel.MyEndDate;
                }),
                                                            date.Year, date.Month, date.Day);
                dpd.Show();
            }));
            //rest
            AnimeDetailsPageGeneralTabFragmentSynopsis.Text = ViewModel.Synopsis;
        }
Esempio n. 2
0
        protected override void InitBindings()
        {
            Bindings.Add(this.SetBinding(() => ViewModel.LoadingGlobal).WhenSourceChanges(() =>
            {
                try
                {
                    if (!ViewModel.LoadingGlobal)
                    {
                        //left details
                        AnimeDetailsPageGeneralTabFragmentType.Text   = ViewModel.RightDetailsRow[0].Item2;
                        AnimeDetailsPageGeneralTabFragmentStatus.Text = ViewModel.RightDetailsRow[1].Item2;
                        AnimeDetailsPageGeneralTabFragmentEnd.Text    = ViewModel.RightDetailsRow[2].Item2;
                        AnimeDetailsPageGeneralTabFragmentMyStartButton.SetOnClickListener(new OnClickListener(view =>
                        {
                            var date             = ViewModel.StartDateValid ? ViewModel.StartDateTimeOffset : DateTimeOffset.Now;
                            DatePickerDialog dpd = new DatePickerDialog(Activity, new DateSetListener((i, i1, arg3) =>
                            {
                                ViewModel.StartDateTimeOffset =
                                    new DateTimeOffset(i, i1, arg3, 0, 0, 0, TimeSpan.Zero);
                                AnimeDetailsPageGeneralTabFragmentMyStart.Text = ViewModel.MyStartDate;
                            }),
                                                                        date.Year, date.Month - 1, date.Day);
                            dpd.Show();
                        }));
                        AnimeDetailsPageGeneralTabFragmentMyStartButton.SetOnLongClickListener(new OnLongClickListener(view => ViewModel.ResetStartDateCommand.Execute(null)));

                        AnimeDetailsPageGeneralTabFragmentEpisodesLabel.Text = ViewModel.LeftDetailsRow[0].Item1;
                        //right details
                        AnimeDetailsPageGeneralTabFragmentEpisodes.Text = ViewModel.LeftDetailsRow[0].Item2;
                        AnimeDetailsPageGeneralTabFragmentScore.Text    = ViewModel.LeftDetailsRow[1].Item2;
                        AnimeDetailsPageGeneralTabFragmentStart.Text    = ViewModel.LeftDetailsRow[2].Item2;
                        AnimeDetailsPageGeneralTabFragmentMyEndButton.SetOnClickListener(new OnClickListener(view =>
                        {
                            var date             = ViewModel.EndDateValid ? ViewModel.EndDateTimeOffset : DateTimeOffset.Now;
                            DatePickerDialog dpd = new DatePickerDialog(Activity, new DateSetListener((i, i1, arg3) =>
                            {
                                ViewModel.EndDateTimeOffset =
                                    new DateTimeOffset(i, i1, arg3, 0, 0, 0, TimeSpan.Zero);
                                AnimeDetailsPageGeneralTabFragmentMyEnd.Text = ViewModel.MyEndDate;
                            }),
                                                                        date.Year, date.Month - 1, date.Day);
                            dpd.Show();
                        }));
                        AnimeDetailsPageGeneralTabFragmentMyEndButton.SetOnLongClickListener(new OnLongClickListener(view => ViewModel.ResetEndDateCommand.Execute(null)));
                        //rest
                        if (!string.IsNullOrEmpty(ViewModel.Synopsis))
                        {
                            AnimeDetailsPageGeneralTabFragmentSynopsis.Text    = ViewModel.Synopsis;
                            AnimeDetailsPageGeneralTabFragmentSynopsis.Gravity = GravityFlags.Left;
                        }
                        else
                        {
                            AnimeDetailsPageGeneralTabFragmentSynopsis.Text    = "Synopsis unavailable...";
                            AnimeDetailsPageGeneralTabFragmentSynopsis.Gravity = GravityFlags.CenterHorizontal;
                        }
                    }
                }
                catch (Exception)
                {
                    //data loading has failed
                }
            }));

            Bindings.Add(this.SetBinding(() => ViewModel.AddAnimeVisibility)
                         .WhenSourceChanges(() =>
            {
                if (ViewModel.AddAnimeVisibility)
                {
                    AnimeDetailsPageGeneralTabFragmentMyStartButton.Visibility   =
                        AnimeDetailsPageGeneralTabFragmentMyEndButton.Visibility = ViewStates.Gone;
                }
                else
                {
                    AnimeDetailsPageGeneralTabFragmentMyStartButton.Visibility   =
                        AnimeDetailsPageGeneralTabFragmentMyEndButton.Visibility = ViewStates.Visible;
                }
            }));

            Bindings.Add(
                this.SetBinding(() => ViewModel.MyStartDate,
                                () => AnimeDetailsPageGeneralTabFragmentMyStart.Text));

            Bindings.Add(
                this.SetBinding(() => ViewModel.MyEndDate,
                                () => AnimeDetailsPageGeneralTabFragmentMyEnd.Text));

            Bindings.Add(this.SetBinding(() => ViewModel.EndDateTimeOffset).WhenSourceChanges(() =>
            {
                AnimeDetailsPageGeneralTabFragmentMyStart.Text = ViewModel.MyStartDate;
                AnimeDetailsPageGeneralTabFragmentMyEnd.Text   = ViewModel.MyEndDate;
            }));
        }