ModelType.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using FlutterCodeGenerator.Helper;
  2. using System;
  3. namespace FlutterCodeGenerator.ModelTypes
  4. {
  5. internal class ModelType
  6. {
  7. private int _index;
  8. public Type ParameterType { get; set; }
  9. /// <summary>
  10. ///Name(First Character Lower Case)
  11. /// </summary>
  12. public string Name_Lower { get; set; }
  13. /// <summary>
  14. ///Name(First Character Upper Case)
  15. /// </summary>
  16. public string Name_Upper { get; set; }
  17. public string DefaultValue { get; set; }
  18. /// <summary>
  19. /// Index(For Same Name)
  20. /// </summary>
  21. public int Index
  22. {
  23. get
  24. {
  25. return _index;
  26. }
  27. set
  28. {
  29. if (_index != value)
  30. {
  31. _index = value;
  32. ChangeIndex();
  33. }
  34. }
  35. }
  36. public ModelType(Type type, string name)
  37. {
  38. ParameterType = type;
  39. Name_Lower = LetterConverterHelper.FirstCharToLower(name);
  40. Name_Upper = LetterConverterHelper.FirstCharToUpper(name);
  41. DefaultValue = null;
  42. Index = 1;
  43. }
  44. public virtual string GetFlutterTypeName(bool isDefault = true, bool isGenericName = false, bool isSingle = false)
  45. {
  46. return ParameterType.Name;
  47. }
  48. public virtual string GetDartString()
  49. {
  50. return string.Empty;
  51. }
  52. protected string QuestionMarkCheck(ModelType child)
  53. {
  54. if (child.DefaultValue != null)
  55. {
  56. return "";
  57. }
  58. else
  59. {
  60. return "?";
  61. }
  62. }
  63. protected virtual void ChangeIndex()
  64. {
  65. }
  66. }
  67. }