MeetingEditDetailsView.xaml.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using InABox.Core;
  7. using InABox.Mobile;
  8. using Xamarin.Forms;
  9. using Xamarin.Forms.Xaml;
  10. using XF.Material.Forms;
  11. namespace PRS.Mobile
  12. {
  13. class MeetingConfirmationConverter : AbstractConverter<DateTime,String>
  14. {
  15. protected override string Convert(DateTime value, object? parameter = null)
  16. {
  17. return value.IsEmpty() ? "Click to Confirm" : "Confirmed";
  18. }
  19. }
  20. [XamlCompilation(XamlCompilationOptions.Compile)]
  21. public partial class MeetingEditDetailsView
  22. {
  23. public MeetingEditDetailsView()
  24. {
  25. InitializeComponent();
  26. // RSVPBackgroundColor.FilledColor = Material.Color.Secondary;
  27. // RSVPBorderColor.FilledColor = Material.Color.SecondaryVariant;
  28. // RSVPTextColor.FilledColor = Material.Color.OnSecondary;
  29. //
  30. // RSVPBackgroundColor.EmptyColor = Material.Color.Error;
  31. // RSVPBorderColor.EmptyColor = Material.Color.Error;
  32. // RSVPTextColor.EmptyColor = Material.Color.OnError;
  33. _attendees.Columns
  34. .BeginUpdate()
  35. .Clear()
  36. .Add(new MobileGridImageColumn<MeetingAttendeeShell>()
  37. {
  38. Column = x => x.Confirmed,
  39. Width = 30,
  40. Margin = 5,
  41. Alignment = TextAlignment.Center,
  42. Header = ImageSource.FromFile("circle_gray")
  43. })
  44. .Add(new MobileGridTextColumn<MeetingAttendeeShell>()
  45. {
  46. Column = x => x.Attendee,
  47. Width = GridLength.Star,
  48. Alignment = TextAlignment.Start,
  49. Caption = "Meeting Attendees"
  50. })
  51. .EndUpdate();
  52. }
  53. public override void Refresh()
  54. {
  55. _attendees.ItemsSource = null;
  56. _attendees.ItemsSource = ViewModel.Attendees;
  57. _confirm.Text = ViewModel.Item.RSVP.IsEmpty()
  58. ? "Click to Confirm"
  59. : "Cancel RSVP";
  60. _confirm.BackgroundColor = ViewModel.Item.RSVP.IsEmpty()
  61. ? Material.Color.Error
  62. : Material.Color.Secondary;
  63. _confirm.BorderColor = ViewModel.Item.RSVP.IsEmpty()
  64. ? Material.Color.Error
  65. : Material.Color.SecondaryVariant;
  66. _confirm.TextColor = ViewModel.Item.RSVP.IsEmpty()
  67. ? Material.Color.OnError
  68. : Material.Color.OnSecondary;
  69. }
  70. private void _confirm_OnClicked(object sender, MobileButtonClickEventArgs args)
  71. {
  72. ViewModel.Item.RSVP = ViewModel.Item.RSVP.IsEmpty()
  73. ? DateTime.Now
  74. : DateTime.MinValue;
  75. ViewModel.Item.Save(ViewModel.Item.RSVP.IsEmpty() ? "Confirmed Meeting Attendance" : "Cancelled Meeting RSVP");
  76. ViewModel.Attendees.Refresh(true);
  77. Refresh();
  78. }
  79. }
  80. }