AssignmentEdit.xaml.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using Comal.Classes;
  3. using Xamarin.Forms;
  4. using Xamarin.Forms.Xaml;
  5. using XF.Material.Forms.UI;
  6. using XF.Material.Forms.UI.Dialogs;
  7. namespace comal.timesheets
  8. {
  9. [XamlCompilation(XamlCompilationOptions.Compile)]
  10. public partial class AssignmentEdit
  11. {
  12. public AssignmentDetailModel DataModel { get; private set; }
  13. public AssignmentEdit(AssignmentShell assignment)
  14. {
  15. DataModel = new AssignmentDetailModel(App.Data);
  16. BindingContext = DataModel;
  17. InitializeComponent();
  18. DataModel.Load(assignment.Id, () => LoadPages());
  19. }
  20. public AssignmentEdit(Assignment assignment)
  21. {
  22. DataModel = new AssignmentDetailModel(App.Data);
  23. BindingContext = DataModel;
  24. InitializeComponent();
  25. DataModel.Load(assignment, () => LoadPages());
  26. }
  27. private void LoadPages()
  28. {
  29. Dispatcher.BeginInvokeOnMainThread(() =>
  30. {
  31. Title = DataModel.Item.ID == Guid.Empty
  32. ? "New Assignment"
  33. : $"Assignment {DataModel.Item.Number}";
  34. Details.Load();
  35. Map.Load();
  36. Forms.Load();
  37. });
  38. }
  39. private void Button_OnClicked(object sender, EventArgs e)
  40. {
  41. MaterialButton button = sender as MaterialButton;
  42. TabView.SelectedIndex = int.Parse(button.CommandParameter.ToString());
  43. }
  44. private void Save_OnClicked(object sender, EventArgs e)
  45. {
  46. DataModel.Save("Saved by PRS Mobile");
  47. Navigation.PopAsync();
  48. }
  49. private void Details_OnOnDetailsChanged(object sender, AssignmentDetailsChangedArgs args)
  50. {
  51. if (String.Equals(args.Property, "Job"))
  52. Map.Load();
  53. }
  54. }
  55. }