forked from ddrilling/AsbCloudServer
1. Добавил новый метод в контроллер. 2. В репозитории сделал проверку на наличие справки для страницы. 3. В методах контроллера добавил фильтрацию для id категории.
40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
using AsbCloudApp.Data;
|
|
using AsbCloudApp.Repositories;
|
|
using AsbCloudDb.Model;
|
|
using Mapster;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AsbCloudInfrastructure.Repository;
|
|
|
|
public class HelpPageRepository : CrudRepositoryBase<HelpPageDto, HelpPage>,
|
|
IHelpPageRepository
|
|
{
|
|
public HelpPageRepository(IAsbCloudDbContext context)
|
|
: base(context)
|
|
{
|
|
}
|
|
|
|
public async Task<HelpPageDto?> GetOrDefaultByUrlPageAndIdCategoryAsync(string urlPage,
|
|
int idCategory,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
var helpPage = await dbSet.AsNoTracking()
|
|
.SingleOrDefaultAsync(x =>
|
|
x.UrlPage == urlPage &&
|
|
x.IdCategory == idCategory,
|
|
cancellationToken);
|
|
|
|
if (helpPage is null)
|
|
return null;
|
|
|
|
return helpPage.Adapt<HelpPageDto>();
|
|
}
|
|
|
|
public Task<bool> IsExistingAsync(string urlPage, int idCategory, CancellationToken cancellationToken) =>
|
|
dbContext.HelpPages.AnyAsync(h => h.UrlPage == urlPage &&
|
|
h.IdCategory == idCategory,
|
|
cancellationToken);
|
|
}
|