You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuFilterDbo.cs 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System.Collections.Generic;
  2. namespace Luticate2.Auth.Dbo.Pagination
  3. {
  4. public class LuFilterDbo
  5. {
  6. public string Query { get; set; }
  7. public IDictionary<string, string> Filters { get; set; }
  8. public string GetFilterString(string key, string defaultValue)
  9. {
  10. if (!Filters.ContainsKey(key))
  11. {
  12. return defaultValue;
  13. }
  14. return Filters[key];
  15. }
  16. public bool? GetFilterBool(string key, bool? defaultValue)
  17. {
  18. var value = GetFilterString(key, "").ToLower();
  19. if (value == "true")
  20. {
  21. return true;
  22. }
  23. if (value == "false")
  24. {
  25. return false;
  26. }
  27. return defaultValue;
  28. }
  29. public int? GetFilterInt(string key, int? defaultValue)
  30. {
  31. int v;
  32. if (int.TryParse(GetFilterString(key, ""), out v))
  33. {
  34. return v;
  35. }
  36. return defaultValue;
  37. }
  38. public double? GetFilterFloat(string key, double? defaultValue)
  39. {
  40. double v;
  41. if (double.TryParse(GetFilterString(key, ""), out v))
  42. {
  43. return v;
  44. }
  45. return defaultValue;
  46. }
  47. }
  48. }