docs: #285 CRUD for FAQItem records

This commit is contained in:
Hamid Reza Mohammadi 2022-02-24 20:24:55 +03:30
parent f8c4c25a02
commit 6463f799e1
4 changed files with 161 additions and 12 deletions

View File

@ -446,5 +446,10 @@ namespace RMuseum.DbContext
/// </summary>
public DbSet<FAQCategory> FAQCategories { get; set; }
/// <summary>
/// faq items
/// </summary>
public DbSet<FAQItem> FAQItems { get; set; }
}
}

View File

@ -2650,6 +2650,11 @@
faq categories
</summary>
</member>
<member name="P:RMuseum.DbContext.RMuseumDbContext.FAQItems">
<summary>
faq items
</summary>
</member>
<member name="T:RMuseum.Models.Accounting.DonationExpenditure">
<summary>
donation expenditures
@ -9976,21 +9981,42 @@
</member>
<member name="M:RMuseum.Services.IFAQService.AddCategoryAsync(RMuseum.Models.FAQ.FAQCategory)">
<summary>
add faq category
add a new faq category
</summary>
<param name="cat"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.UpdateCategoryAsync(RMuseum.Models.FAQ.FAQCategory)">
<summary>
update faq cateory
update an existing faq category
</summary>
<param name="cat"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.DeleteCategoryAsync(System.Int32)">
<summary>
delete faq category
delete a faq category
</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
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.UpdateItemAsync(RMuseum.Models.FAQ.FAQItem)">
<summary>
update an existing faq item
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IFAQService.DeleteItemAsync(System.Int32)">
<summary>
delete a faq item
</summary>
<param name="id"></param>
<returns></returns>
@ -11912,21 +11938,42 @@
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.AddCategoryAsync(RMuseum.Models.FAQ.FAQCategory)">
<summary>
add faq category
add a new faq category
</summary>
<param name="cat"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.UpdateCategoryAsync(RMuseum.Models.FAQ.FAQCategory)">
<summary>
update faq cateory
update an existing faq category
</summary>
<param name="cat"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.DeleteCategoryAsync(System.Int32)">
<summary>
delete faq category
delete a faq category
</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
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.UpdateItemAsync(RMuseum.Models.FAQ.FAQItem)">
<summary>
update an existing faq item
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.FAQService.DeleteItemAsync(System.Int32)">
<summary>
delete a faq item
</summary>
<param name="id"></param>
<returns></returns>

View File

@ -11,24 +11,46 @@ namespace RMuseum.Services
public interface IFAQService
{
/// <summary>
/// add faq category
/// add a new faq category
/// </summary>
/// <param name="cat"></param>
/// <returns></returns>
Task<RServiceResult<FAQCategory>> AddCategoryAsync(FAQCategory cat);
/// <summary>
/// update faq cateory
/// update an existing faq category
/// </summary>
/// <param name="cat"></param>
/// <returns></returns>
Task<RServiceResult<bool>> UpdateCategoryAsync(FAQCategory cat);
/// <summary>
/// delete faq category
/// delete a faq category
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RServiceResult<bool>> DeleteCategoryAsync(int id);
/// <summary>
/// add a new faq item
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<RServiceResult<FAQItem>> AddItemAsync(FAQItem item);
/// <summary>
/// update an existing faq item
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<RServiceResult<bool>> UpdateItemAsync(FAQItem item);
/// <summary>
/// delete a faq item
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RServiceResult<bool>> DeleteItemAsync(int id);
}
}

View File

@ -16,7 +16,7 @@ namespace RMuseum.Services.Implementation
{
/// <summary>
/// add faq category
/// add a new faq category
/// </summary>
/// <param name="cat"></param>
/// <returns></returns>
@ -36,7 +36,7 @@ namespace RMuseum.Services.Implementation
}
/// <summary>
/// update faq cateory
/// update an existing faq category
/// </summary>
/// <param name="cat"></param>
/// <returns></returns>
@ -61,7 +61,7 @@ namespace RMuseum.Services.Implementation
}
/// <summary>
/// delete faq category
/// delete a faq category
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
@ -81,6 +81,81 @@ namespace RMuseum.Services.Implementation
}
}
/// <summary>
/// add a new faq item
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public async Task<RServiceResult<FAQItem>> AddItemAsync(FAQItem item)
{
try
{
_context.FAQItems.Add(item);
await _context.SaveChangesAsync();
return new RServiceResult<FAQItem>(item);
}
catch (Exception exp)
{
return new RServiceResult<FAQItem>(null, exp.ToString());
}
}
/// <summary>
/// update an existing faq item
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public async Task<RServiceResult<bool>> UpdateItemAsync(FAQItem item)
{
try
{
var dbModel = await _context.FAQItems.Where(i => i.Id == item.Id).SingleAsync();
dbModel.Question = item.Question;
dbModel.AnswerExcerpt = item.AnswerExcerpt;
dbModel.FullAnswer = item.FullAnswer;
dbModel.Pinned = item.Pinned;
dbModel.PinnedItemOrder = item.PinnedItemOrder;
dbModel.CategoryId = item.CategoryId;
dbModel.ItemOrderInCategory = item.ItemOrderInCategory;
dbModel.ContentForSearch = item.ContentForSearch;
dbModel.HashTag1 = item.HashTag1;
dbModel.HashTag2 = item.HashTag2;
dbModel.HashTag3 = item.HashTag3;
dbModel.HashTag4 = item.HashTag4;
dbModel.Published = item.Published;
_context.Update(dbModel);
await _context.SaveChangesAsync();
return new RServiceResult<bool>(true);
}
catch (Exception exp)
{
return new RServiceResult<bool>(false, exp.ToString());
}
}
/// <summary>
/// delete a faq item
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public async Task<RServiceResult<bool>> DeleteItemAsync(int id)
{
try
{
var dbModel = await _context.FAQItems.Where(i => i.Id == id).SingleAsync();
_context.Remove(dbModel);
await _context.SaveChangesAsync();
return new RServiceResult<bool>(true);
}
catch (Exception exp)
{
return new RServiceResult<bool>(false, exp.ToString());
}
}
/// <summary>
/// Database Context