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; }
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; })); }