DeliveryDocket.xaml.cs 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using System.ComponentModel;
  5. using System.Linq;
  6. using System.Linq.Expressions;
  7. using System.Threading.Tasks;
  8. using comal.timesheets.Tasks;
  9. using Comal.Classes;
  10. using InABox.Clients;
  11. using InABox.Configuration;
  12. using InABox.Core;
  13. using Xamarin.Forms;
  14. using Xamarin.Forms.Xaml;
  15. using XF.Material.Forms.UI;
  16. using XF.Material.Forms.UI.Dialogs;
  17. using Plugin.Media;
  18. using InABox.Mobile;
  19. using System.IO;
  20. using comal.timesheets.QAForms;
  21. namespace comal.timesheets.Deliveries
  22. {
  23. [XamlCompilation(XamlCompilationOptions.Compile)]
  24. public partial class DeliveryDocket : ContentPage
  25. {
  26. int deliveryNumber;
  27. ObservableList<Docket> dockets = new ObservableList<Docket>();
  28. List<string> racks = new List<string>();
  29. string numberOfItemsText = "Number of Items: ";
  30. public DeliveryDocket(int _deliveryNumber, ObservableList<Docket> _dockets)
  31. {
  32. InitializeComponent();
  33. deliveryNumber = _deliveryNumber;
  34. dockets = _dockets;
  35. LoadData();
  36. }
  37. private void LoadData()
  38. {
  39. Title = "Delivery: " + deliveryNumber;
  40. numberOfItems.Text = numberOfItemsText + dockets.Count();
  41. DeliveryItemList.ItemsSource = dockets;
  42. }
  43. private void SearchEnt_Changed(object sender, EventArgs e)
  44. {
  45. var list = dockets.Where(x =>
  46. x.Rack.StartsWith(searchEnt.Text) || x.Rack.StartsWith(searchEnt.Text.ToUpper()) || x.Rack.StartsWith(searchEnt.Text.ToLower()) || x.Rack.StartsWith(UpperCaseFirst(searchEnt.Text)) ||
  47. x.Rack.Contains(searchEnt.Text) || x.Rack.Contains(searchEnt.Text.ToUpper()) || x.Rack.Contains(searchEnt.Text.ToLower()) || x.Rack.Contains(searchEnt.Text) ||
  48. x.Description.StartsWith(searchEnt.Text) || x.Description.StartsWith(searchEnt.Text.ToUpper()) || x.Description.StartsWith(searchEnt.Text.ToLower()) || x.Description.StartsWith(UpperCaseFirst(searchEnt.Text)) ||
  49. x.Description.Contains(searchEnt.Text) || x.Description.Contains(searchEnt.Text.ToUpper()) || x.Description.Contains(searchEnt.Text.ToLower()) || x.Description.Contains(UpperCaseFirst(searchEnt.Text)) ||
  50. x.Setout.StartsWith(searchEnt.Text) || x.Setout.StartsWith(searchEnt.Text.ToUpper()) || x.Setout.StartsWith(searchEnt.Text.ToLower()) || x.Setout.StartsWith(UpperCaseFirst(searchEnt.Text)) ||
  51. x.Setout.Contains(searchEnt.Text) || x.Setout.Contains(searchEnt.Text.ToUpper()) || x.Setout.Contains(searchEnt.Text.ToLower()) || x.Setout.Contains(UpperCaseFirst(searchEnt.Text)) ||
  52. x.Requi.StartsWith(searchEnt.Text) || x.Requi.StartsWith(searchEnt.Text.ToUpper()) || x.Requi.StartsWith(searchEnt.Text.ToLower()) || x.Requi.StartsWith(UpperCaseFirst(searchEnt.Text)) ||
  53. x.Requi.Contains(searchEnt.Text) || x.Requi.Contains(searchEnt.Text.ToUpper()) || x.Requi.Contains(searchEnt.Text.ToLower()) || x.Requi.Contains(UpperCaseFirst(searchEnt.Text))
  54. );
  55. DeliveryItemList.ItemsSource = list;
  56. numberOfItems.Text = numberOfItemsText + list.Count();
  57. }
  58. static String UpperCaseFirst(string s)
  59. {
  60. char[] a = s.ToCharArray();
  61. a[0] = char.ToUpper(a[0]);
  62. return new string(a);
  63. }
  64. }
  65. }