EquipmentEditTasksView.xaml.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Comal.Classes;
  7. using InABox.Core;
  8. using InABox.Mobile;
  9. using Xamarin.Forms;
  10. using Xamarin.Forms.Xaml;
  11. using XF.Material.Forms.UI.Dialogs;
  12. namespace PRS.Mobile
  13. {
  14. [XamlCompilation(XamlCompilationOptions.Compile)]
  15. public partial class EquipmentEditTasksView
  16. {
  17. public EquipmentEditTasksView()
  18. {
  19. InitializeComponent();
  20. }
  21. public override void Refresh()
  22. {
  23. }
  24. private void ViewTasksBtn_Clicked(object sender, EventArgs e)
  25. {
  26. var model = new EquipmentKanbanModel(App.Data,
  27. () => new Filter<Kanban>(x => x.Equipment.ID).IsEqualTo(ViewModel.Item.ID)
  28. );
  29. model.ItemAdded += (o, args) =>
  30. {
  31. args.Item.EquipmentID = ViewModel.Item.ID;
  32. args.Item.EquipmentDescription = ViewModel.Item.Description;
  33. };
  34. var equipmentTasks = new KanbanList()
  35. {
  36. Model = model,
  37. Title = $"Tasks: {ViewModel.Item.Description}"
  38. };
  39. Navigation.PushAsync(equipmentTasks);
  40. }
  41. private async void EditOpenTask_Click(object sender, EventArgs e)
  42. {
  43. if ((sender as MobileButton)?.BindingContext is EquipmentKanbanShell kanban)
  44. {
  45. KanbanEdit editor = await KanbanEdit.Load(kanban.ID);
  46. if (editor != null)
  47. {
  48. editor.Title = $"Task {kanban.Number}: {ViewModel.Item.Description}";
  49. Device.BeginInvokeOnMainThread(() => Navigation.PushAsync(editor));
  50. }
  51. else
  52. await MaterialDialog.Instance.AlertAsync("Error", "Cannot Find Kanban", "OK");
  53. }
  54. }
  55. }
  56. }