DeliveryDocket.xaml.cs 3.3 KB

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