GroupService.pas 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. unit GroupService;
  2. interface
  3. uses
  4. StrUtils, SysUtils, Windows, superobject, Classes, GroupClient, GroupModel;
  5. type
  6. TGroupService = class
  7. private
  8. FTeams: TStringList;
  9. FLoginName: string;
  10. FGroupClient: TGroupClient;
  11. public
  12. procedure Init(ALoginName: string);
  13. procedure Uninstall;
  14. class function GetService: TGroupService; static;
  15. constructor Create;
  16. destructor Destroy; override;
  17. /// <summary>
  18. /// 添加群组,或更新群组全部信心
  19. /// </summary>
  20. /// <param name="ATeam">群组</param>
  21. procedure AddTeam(ATeam: TObject);
  22. /// <summary>
  23. /// 更新群组部分信息
  24. /// </summary>
  25. /// <param name="ATeam">群组</param>
  26. procedure UpdateTeam(ATeam: TObject);
  27. procedure RemoveTeam(ATeamID: string);
  28. procedure OnSearched(ARecords: TStringList; ASkip, ALimit: Integer); overload;
  29. procedure OnSearched(ARecord: TSearchTeamResultRecord); overload;
  30. procedure OnAddedMembers(ATeamID: string; AMembers: TStrings);
  31. procedure OnAddedManagers(ATeamID: string; AManagers: TStrings);
  32. procedure OnDeletedMembers(ATeamID: string; AMembers: TStrings);
  33. procedure OnDeletedManagers(ATeamID: string; AManagers: TStrings);
  34. procedure OnReceivedApplyRequest(ALoginName, ATag: string);
  35. end;
  36. implementation
  37. var
  38. AGroupService: TGroupService;
  39. procedure ClearStringList(AStringList: TStringList);
  40. var
  41. AObj: TObject;
  42. begin
  43. if AStringList = nil then
  44. Exit;
  45. while AStringList.Count > 0 do
  46. begin
  47. Aobj := AStringList.Objects[0];
  48. AStringList.Delete(0);
  49. FreeAndNil(AObj);
  50. end;
  51. end;
  52. { TGroupService }
  53. procedure TGroupService.AddTeam(ATeam: TObject);
  54. begin
  55. end;
  56. constructor TGroupService.Create;
  57. begin
  58. FTeams := TStringList.Create;
  59. FGroupClient := TGroupClient.Create;
  60. inherited;
  61. end;
  62. destructor TGroupService.Destroy;
  63. begin
  64. ClearStringList(FTeams);
  65. FreeAndNil(FGroupClient);
  66. inherited;
  67. end;
  68. class function TGroupService.GetService: TGroupService;
  69. begin
  70. if AGroupService = nil then
  71. AGroupService := TGroupService.Create;
  72. Result := AGroupService;
  73. end;
  74. procedure TGroupService.Init(ALoginName: string);
  75. begin
  76. FGroupClient.Connect(ALoginName);
  77. end;
  78. procedure TGroupService.OnAddedManagers(ATeamID: string; AManagers: TStrings);
  79. begin
  80. end;
  81. procedure TGroupService.OnAddedMembers(ATeamID: string; AMembers: TStrings);
  82. begin
  83. end;
  84. procedure TGroupService.OnDeletedManagers(ATeamID: string; AManagers: TStrings);
  85. begin
  86. end;
  87. procedure TGroupService.OnDeletedMembers(ATeamID: string; AMembers: TStrings);
  88. begin
  89. end;
  90. procedure TGroupService.OnReceivedApplyRequest(ALoginName, ATag: string);
  91. begin
  92. end;
  93. procedure TGroupService.OnSearched(ARecords: TStringList; ASkip,
  94. ALimit: Integer);
  95. begin
  96. end;
  97. procedure TGroupService.OnSearched(ARecord: TSearchTeamResultRecord);
  98. begin
  99. end;
  100. procedure TGroupService.RemoveTeam(ATeamID: string);
  101. begin
  102. end;
  103. procedure TGroupService.Uninstall;
  104. begin
  105. FGroupClient.Disconnect;
  106. end;
  107. procedure TGroupService.UpdateTeam(ATeam: TObject);
  108. begin
  109. end;
  110. end.