EquipmentList_Old.xaml.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using Comal.Classes;
  2. using InABox.Core;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Linq.Expressions;
  8. using System.Threading.Tasks;
  9. using Syncfusion.SfRangeSlider.XForms;
  10. using Syncfusion.XForms.ComboBox;
  11. using Xamarin.Forms;
  12. using Xamarin.Forms.Xaml;
  13. namespace comal.timesheets
  14. {
  15. [XamlCompilation(XamlCompilationOptions.Compile)]
  16. public partial class EquipmentList_Old : ContentPage
  17. {
  18. string currentFilter = "";
  19. public EquipmentList_Old()
  20. {
  21. InitializeComponent();
  22. NavigationPage.SetHasBackButton(this, false);
  23. try
  24. {
  25. DataModel.Load(
  26. new Filter<Equipment>(x => x.GroupLink.Code).IsNotEqualTo("ZZINACTIVE"),
  27. (Action)(() =>
  28. {
  29. filterOptionsControl.Options.AddRange(DataModel.GroupNames);
  30. filterOptionsControl.CreateRadioButtonsAndSetDefault("All");
  31. currentFilter = "All";
  32. filterOptionsControl.OnFilterOptionChanged += FilterOptionsControl_OnFilterOptionChanged;
  33. })
  34. );
  35. }
  36. catch (Exception e)
  37. {
  38. string error = e.Message;
  39. }
  40. }
  41. private void BackBtn_Clicked(object sender, EventArgs e)
  42. {
  43. Navigation.PopAsync();
  44. }
  45. private void FilterOptionsControl_OnFilterOptionChanged(string filterOption)
  46. {
  47. currentFilter = filterOption;
  48. Search(filterOption);
  49. }
  50. private void Search(string option)
  51. {
  52. String text = String.IsNullOrWhiteSpace(searchEnt.Text) ? "" : searchEnt.Text.ToUpper();
  53. if (option == "All")
  54. DataModel.Search(item =>
  55. String.IsNullOrWhiteSpace(text) || item.Description.ToUpper().Contains(text)
  56. );
  57. else
  58. DataModel.Search(item =>
  59. String.Equals(item.GroupName, option) && (String.IsNullOrWhiteSpace(text) || item.Description.ToUpper().Contains(text))
  60. );
  61. }
  62. private void SearchEnt_Changed(object sender, EventArgs e)
  63. {
  64. Search(currentFilter);
  65. }
  66. private void Equipment_Tapped(object sender, EventArgs e)
  67. {
  68. EquipmentListDataModelItem item = listView.SelectedItem as EquipmentListDataModelItem;
  69. LoadEquipmentOnTap(item.ID);
  70. }
  71. private void LoadEquipmentOnTap(Guid id)
  72. {
  73. // var equipment = new Client<Equipment>().Query(
  74. // new Filter<Equipment>(x => x.ID).IsEqualTo(id),
  75. // new Columns<Equipment>(x => x.ID)
  76. // .Add(x => x.GroupLink.ID)
  77. // .Add(x => x.GroupLink.Description)
  78. // .Add(x => x.GroupLink.Code)
  79. // .Add(x => x.Description)
  80. // .Add(x => x.Notes)
  81. // .Add(x => x.SpecificationSheet.ID)
  82. // ).Rows.FirstOrDefault()?.ToObject<Equipment>();
  83. if (id != Guid.Empty)
  84. {
  85. EquipmentDetailsPage page = new EquipmentDetailsPage(id);
  86. Navigation.PushAsync(page);
  87. }
  88. }
  89. }
  90. }