AssignmentEdit.xaml.cs 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using System;
  2. using System.Linq.Expressions;
  3. using System.Text;
  4. using System.Threading.Tasks;
  5. using Comal.Classes;
  6. using InABox.Clients;
  7. using InABox.Core;
  8. using Xamarin.Forms;
  9. using Xamarin.Forms.Xaml;
  10. namespace comal.timesheets
  11. {
  12. [XamlCompilation(XamlCompilationOptions.Compile)]
  13. public partial class AssignmentEdit : ContentPage
  14. {
  15. public AssignmentEdit(Guid assignmentid)
  16. {
  17. InitializeComponent();
  18. DataModel.Load(assignmentid);
  19. }
  20. public AssignmentEdit(Assignment assignment)
  21. {
  22. InitializeComponent();
  23. DataModel.Load(assignment);
  24. }
  25. private void Save_Tapped(object sender, EventArgs e)
  26. {
  27. DataModel.Save("Saved by PRS Mobile");
  28. }
  29. private async void Activity_Clicked(object sender, EventArgs e)
  30. {
  31. try
  32. {
  33. GenericSelectionPage page = new GenericSelectionPage(
  34. "Select Activity",
  35. new SelectionViewModel<EmployeeActivity>(
  36. new Filter<EmployeeActivity>(x => x.Employee.ID).IsEqualTo(App.Data.Employee.ID),
  37. new Expression<Func<EmployeeActivity, object>>[]
  38. { x => x.Activity.Code, x => x.Activity.Description },
  39. new Expression<Func<EmployeeActivity, object>>[] { x => x.Activity.ID },
  40. new SortOrder<EmployeeActivity>(x => x.Activity.Code)
  41. )
  42. );
  43. page.OnItemSelected += (row) =>
  44. {
  45. Device.BeginInvokeOnMainThread(() =>
  46. {
  47. DataModel.Item.ActivityID = row.Get<EmployeeActivity, Guid>(c => c.Activity.ID);
  48. DataModel.Item.ActivityCode = row.Get<EmployeeActivity, String>(c => c.Activity.Code);
  49. DataModel.Item.ActivityDescription = row.Get<EmployeeActivity, String>(c => c.Activity.Description);
  50. });
  51. };
  52. Navigation.PushAsync(page);
  53. }
  54. catch
  55. {
  56. }
  57. }
  58. private void Job_Clicked(object sender, EventArgs e)
  59. {
  60. try
  61. {
  62. GenericSelectionPage page = new GenericSelectionPage(
  63. "Select Job",
  64. new SelectionViewModel<Job>(
  65. new Filter<Job>(x => x.JobStatus.Active).IsEqualTo(true),
  66. new Expression<Func<Job, object>>[]
  67. { x => x.JobNumber, x => x.Name },
  68. new Expression<Func<Job, object>>[] { x => x.ID },
  69. new SortOrder<Job>(x => x.JobNumber,SortDirection.Descending)
  70. )
  71. );
  72. page.OnItemSelected += (row) =>
  73. {
  74. Device.BeginInvokeOnMainThread(() =>
  75. {
  76. DataModel.Item.JobID = row.Get<Job, Guid>(c => c.ID);
  77. DataModel.Item.JobNumber = row.Get<Job, String>(c => c.JobNumber);
  78. DataModel.Item.JobName = row.Get<Job, String>(c => c.Name);
  79. });
  80. };
  81. Navigation.PushAsync(page);
  82. }
  83. catch
  84. {
  85. }
  86. }
  87. }
  88. }