docs: #285 methods for retrieving FAQ categories and items

This commit is contained in:
Hamid Reza Mohammadi 2022-02-24 20:39:44 +03:30
parent 6463f799e1
commit ba19ff19cf
3 changed files with 174 additions and 0 deletions

View File

@ -9979,6 +9979,20 @@
faq service interface
</summary>
</member>
<member name="M:RMuseum.Services.IFAQService.GetCategoriesAsync(System.Boolean)">
<summary>
get categories
</summary>
<param name="onlyPublished"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.GetCategoryByIdAsync(System.Int32)">
<summary>
get category by id
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.AddCategoryAsync(RMuseum.Models.FAQ.FAQCategory)">
<summary>
add a new faq category
@ -10000,6 +10014,28 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.GetPinnedItemsAsync(System.Boolean)">
<summary>
get pinned items
</summary>
<param name="onlyPublished"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.GetCategoryItemsAsync(System.Int32,System.Boolean)">
<summary>
get category items
</summary>
<param name="categoryId"></param>
<param name="onlyPublished"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.GetItemByIdAsync(System.Int32)">
<summary>
get item by id
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.AddItemAsync(RMuseum.Models.FAQ.FAQItem)">
<summary>
add a new faq item
@ -11936,6 +11972,20 @@
faq service implementation
</summary>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.GetCategoriesAsync(System.Boolean)">
<summary>
get categories
</summary>
<param name="onlyPublished"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.GetCategoryByIdAsync(System.Int32)">
<summary>
get category by id
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.AddCategoryAsync(RMuseum.Models.FAQ.FAQCategory)">
<summary>
add a new faq category
@ -11957,6 +12007,28 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.GetPinnedItemsAsync(System.Boolean)">
<summary>
get pinned items
</summary>
<param name="onlyPublished"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.GetCategoryItemsAsync(System.Int32,System.Boolean)">
<summary>
get category items
</summary>
<param name="categoryId"></param>
<param name="onlyPublished"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.GetItemByIdAsync(System.Int32)">
<summary>
get item by id
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.AddItemAsync(RMuseum.Models.FAQ.FAQItem)">
<summary>
add a new faq item

View File

@ -10,6 +10,20 @@ namespace RMuseum.Services
/// </summary>
public interface IFAQService
{
/// <summary>
/// get categories
/// </summary>
/// <param name="onlyPublished"></param>
/// <returns></returns>
Task<RServiceResult<FAQCategory[]>> GetCategoriesAsync(bool onlyPublished);
/// <summary>
/// get category by id
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RServiceResult<FAQCategory>> GetCategoryByIdAsync(int id);
/// <summary>
/// add a new faq category
/// </summary>
@ -31,6 +45,28 @@ namespace RMuseum.Services
/// <returns></returns>
Task<RServiceResult<bool>> DeleteCategoryAsync(int id);
/// <summary>
/// get pinned items
/// </summary>
/// <param name="onlyPublished"></param>
/// <returns></returns>
Task<RServiceResult<FAQItem[]>> GetPinnedItemsAsync(bool onlyPublished);
/// <summary>
/// get category items
/// </summary>
/// <param name="categoryId"></param>
/// <param name="onlyPublished"></param>
/// <returns></returns>
Task<RServiceResult<FAQItem[]>> GetCategoryItemsAsync(int categoryId, bool onlyPublished);
/// <summary>
/// get item by id
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RServiceResult<FAQItem>> GetItemByIdAsync(int id);
/// <summary>
/// add a new faq item
/// </summary>

View File

@ -15,6 +15,32 @@ namespace RMuseum.Services.Implementation
public class FAQService : IFAQService
{
/// <summary>
/// get categories
/// </summary>
/// <param name="onlyPublished"></param>
/// <returns></returns>
public async Task<RServiceResult<FAQCategory[]>> GetCategoriesAsync(bool onlyPublished)
{
return new RServiceResult<FAQCategory[]>
(
await _context.FAQCategories.Where(c => c.Published == true || onlyPublished == false).OrderBy(c => c.CatOrder).ToArrayAsync()
);
}
/// <summary>
/// get category by id
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public async Task<RServiceResult<FAQCategory>> GetCategoryByIdAsync(int id)
{
return new RServiceResult<FAQCategory>
(
await _context.FAQCategories.Where(c => c.Id == id).SingleOrDefaultAsync()
);
}
/// <summary>
/// add a new faq category
/// </summary>
@ -81,6 +107,46 @@ namespace RMuseum.Services.Implementation
}
}
/// <summary>
/// get pinned items
/// </summary>
/// <param name="onlyPublished"></param>
/// <returns></returns>
public async Task<RServiceResult<FAQItem[]>> GetPinnedItemsAsync(bool onlyPublished)
{
return new RServiceResult<FAQItem[]>
(
await _context.FAQItems.Where(c => c.Pinned && (onlyPublished == false || c.Published == true)).OrderBy(c => c.PinnedItemOrder).ToArrayAsync()
);
}
/// <summary>
/// get category items
/// </summary>
/// <param name="categoryId"></param>
/// <param name="onlyPublished"></param>
/// <returns></returns>
public async Task<RServiceResult<FAQItem[]>> GetCategoryItemsAsync(int categoryId, bool onlyPublished)
{
return new RServiceResult<FAQItem[]>
(
await _context.FAQItems.Where(c => c.CategoryId == categoryId && (onlyPublished == false || c.Published == true)).OrderBy(c => c.ItemOrderInCategory).ToArrayAsync()
);
}
/// <summary>
/// get item by id
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public async Task<RServiceResult<FAQItem>> GetItemByIdAsync(int id)
{
return new RServiceResult<FAQItem>
(
await _context.FAQItems.Where(c => c.Id == id).SingleOrDefaultAsync()
);
}
/// <summary>
/// add a new faq item
/// </summary>