IImageCategoryDataManager.cs 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. using AIPlatform.Protocol.Entities;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. namespace aipsvr.Services.DatabaseManagers
  5. {
  6. interface IImageCategoryDataManager : IDatabaseManager
  7. {
  8. /// <summary>
  9. /// Create a image category
  10. /// </summary>
  11. /// <param name="ImageCategory">The ImageCategory to create</param>
  12. /// <returns></returns>
  13. Task CreateImageCategoryAsync(ImageCategory ImageCategory);
  14. /// <summary>
  15. /// Update the image category in system.
  16. /// </summary>
  17. /// <param name="imageCategory">The ImageCategory to update.</param>
  18. /// <returns></returns>
  19. Task UpdateImageCategoryAsync(ImageCategory imageCategory);
  20. /// <summary>
  21. /// Update the image category hasChildren in system.
  22. /// </summary>
  23. /// <returns></returns>
  24. Task UpdateImageCategoryHasChildrenAsync(long id, bool hasChildren);
  25. /// <summary>
  26. /// Update the image category developers in system.
  27. /// </summary>
  28. /// <returns></returns>
  29. Task UpdateImageCategoryDevelopersAsync(long id, List<EntityBase> developers);
  30. /// <summary>
  31. /// Update the image category labelers in system.
  32. /// </summary>
  33. /// <returns></returns>
  34. Task UpdateImageCategoryLabelersAsync(long id, List<EntityBase> labelers);
  35. /// <summary>
  36. /// Update the image category sharers in system.
  37. /// </summary>
  38. /// <returns></returns>
  39. Task UpdateImageCategorySharersAsync(long id, List<EntityBase> sharers);
  40. /// <summary>
  41. /// Update the image category gatherers in system.
  42. /// </summary>
  43. /// <returns></returns>
  44. Task UpdateImageCategoryGatherersAsync(long id, List<EntityBase> gatherers);
  45. /// <summary>
  46. /// Delete an image category from the system.
  47. /// </summary>
  48. /// <param name="ImageCategoryId">The id of the ImageCategory</param>
  49. /// <returns></returns>
  50. Task DeleteImageCategoryAsync(long ImageCategoryId);
  51. /// <summary>
  52. /// Delete an image category by LabelPackageId.
  53. /// </summary>
  54. /// <param name="labelPackageContentId">The id of the labelPackageContent</param>
  55. /// <returns></returns>
  56. Task DeleteImageCategoryByLabelPackageIdAsync(long labelPackageContentId);
  57. /// <summary>
  58. /// Get the image categories count by keyword.
  59. /// </summary>
  60. /// <param name="keyword">The key word.</param>
  61. /// <returns></returns>
  62. Task<long> GetImageCategoriesCountAsync(string keyword, bool isRoot, List<long> organizationIds);
  63. /// <summary>
  64. /// Get the image categories count by developer.
  65. /// </summary>
  66. /// <param name="developer">The developer.</param>
  67. /// <returns></returns>
  68. Task<long> GetImageCategoryCountByDeveloperAsync(EntityBase developer);
  69. /// <summary>
  70. /// Get the image category By id.
  71. /// </summary>
  72. /// <returns>The searched image category.</returns>
  73. Task<ImageCategory> GetImageCategoryAsync(long id);
  74. /// <summary>
  75. /// Get the image category By name.
  76. /// </summary>
  77. /// <param name="parentId">The parent id.</param>
  78. /// <param name="name">The image category name.</param>
  79. /// <returns>The searched image category.</returns>
  80. Task<ImageCategory> GetImageCategoryAsync(long parentId, string name);
  81. /// <summary>
  82. /// Get the image case By same batch label case id
  83. /// </summary>
  84. /// <returns>The searched image category.</returns>
  85. Task<ImageCategory> GetImageCaseBySameBatchLabelCaseIdAsync(long sameBatchLabelCaseId);
  86. /// <summary>
  87. /// Get all image categories
  88. /// </summary>
  89. /// <returns>The loaded ImageCategories</returns>
  90. Task<List<ImageCategory>> GetImageCategoriesAsync();
  91. /// <summary>
  92. /// Get the image categories by key word.
  93. /// </summary>
  94. /// <returns>The loaded ImageCategories</returns>
  95. Task<List<ImageCategory>> GetImageCategoriesAsync(string keyword, int pageIndex, int pageSize, bool isRoot, List<long> organizationIds);
  96. /// <summary>
  97. /// Get the image categories by key word.
  98. /// </summary>
  99. /// <param name="keyword">The key word.</param>
  100. /// <returns>The loaded ImageCategories</returns>
  101. Task<List<ImageCategory>> GetImageCategoriesByKeywordAsync(string keyword);
  102. /// <summary>
  103. /// Get the image categories by parent id.
  104. /// </summary>
  105. /// <param name="parentId">The parent id.</param>
  106. /// <returns>The loaded ImageCategories</returns>
  107. Task<List<ImageCategory>> GetImageCategoriesByParentIdAsync(long parentId);
  108. /// <summary>
  109. /// Get the image categories by parent id in order.
  110. /// </summary>
  111. /// <param name="parentId">The parent id.</param>
  112. /// <returns>The loaded ImageCategories</returns>
  113. Task<List<ImageCategory>> GetImageCategoriesByParentIdInOrderAsync(long parentId);
  114. /// <summary>
  115. /// Get the image categories by parent id.
  116. /// </summary>
  117. /// <param name="parentId">The parent id.</param>
  118. /// <returns>The loaded ImageCategories</returns>
  119. Task<List<ImageCategory>> GetImageCategoriesByParentIdAsync(long parentId, EntityBase developer);
  120. /// <summary>
  121. /// Get the image categories by organization id.
  122. /// </summary>
  123. /// <param name="organizationId">The organization id.</param>
  124. /// <returns>The loaded ImageCategories</returns>
  125. Task<List<ImageCategory>> GetImageCategoriesByOrganizationIdAsync(long organizationId);
  126. /// <summary>
  127. /// Get the image categories by level.
  128. /// </summary>
  129. /// <param name="level">The category level.</param>
  130. /// <returns>The loaded ImageCategories</returns>
  131. Task<List<ImageCategory>> GetImageCategoriesByLevelAsync(CategoryLevel level);
  132. /// <summary>
  133. /// Get the image categories by labelPackageId.
  134. /// </summary>
  135. /// <param name="labelPackageContentId">The label package content id.</param>
  136. /// <returns>The loaded ImageCategories</returns>
  137. Task<List<ImageCategory>> GetImageCategoriesHasChildrenAsync(long labelPackageContentId);
  138. }
  139. }