TapError.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. namespace TapSDK.Core
  4. {
  5. public class TapError
  6. {
  7. public int code;
  8. public string errorDescription;
  9. public TapError(string json)
  10. {
  11. if (string.IsNullOrEmpty(json))
  12. {
  13. return;
  14. }
  15. var dic = Json.Deserialize(json) as Dictionary<string, object>;
  16. code = SafeDictionary.GetValue<int>(dic, "code");
  17. errorDescription = SafeDictionary.GetValue<string>(dic, "error_description");
  18. }
  19. public TapError()
  20. {
  21. }
  22. public static TapError SafeConstructorTapError(string json)
  23. {
  24. return string.IsNullOrEmpty(json) ? null : new TapError(json);
  25. }
  26. public static TapError UndefinedError()
  27. {
  28. return new TapError(TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnown Error");
  29. }
  30. public static TapError LoginCancelError()
  31. {
  32. return new TapError(TapErrorCode.ERROR_CODE_LOGIN_CANCEL, "Login Cancel");
  33. }
  34. public TapError(int code, string errorDescription)
  35. {
  36. this.code = code;
  37. this.errorDescription = errorDescription;
  38. }
  39. private static TapErrorCode ParseCode(int parseCode)
  40. {
  41. return Enum.IsDefined(typeof(TapErrorCode), parseCode)
  42. ? (TapErrorCode) Enum.ToObject(typeof(TapErrorCode), parseCode)
  43. : TapErrorCode.ERROR_CODE_UNDEFINED;
  44. }
  45. public TapError(TapErrorCode code, string errorDescription)
  46. {
  47. this.code = (int) code;
  48. this.errorDescription = errorDescription;
  49. }
  50. }
  51. }