DD.WellWorkover.Cloud/AsbCloudInfrastructure/Repository/HelpPageRepository.cs
Степанов Дмитрий Александрович c8ec264f13 Добавил новый метод контроллера
1. Добавил новый метод в контроллер.
2. В репозитории сделал проверку на наличие справки для страницы.
3. В методах контроллера добавил фильтрацию для id категории.
2023-07-12 18:16:36 +05:00

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);
}