public async Task <IEnumerable <PublicTrainingTemplateDto> > GetPublicTemplatesAsync( PublicTrainingTemplatePaginationModel model, int?userId) { IQueryable <PublicTrainingTemplate> publicTemplates = publicTemplateRepository.GetAll(); if (model.Name is not null) { publicTemplates = publicTemplates.Where(p => p.Template.Name.Contains(model.Name)); } if (model.CategoryId is not null) { publicTemplates = publicTemplates.Where(p => p.Template.CategoryId.Equals(model.CategoryId)); } if (userId is not null) { publicTemplates = publicTemplates.Where(p => p.Template.CreatorId.Equals(userId)); } IEnumerable <PublicTrainingTemplateDto> publicTemplatesDtos = (await publicTemplates .ToListAsync()) .Select(p => mapper.Map <PublicTrainingTemplate, PublicTrainingTemplateDto>(p)); return(paginationService.MakePage(model, publicTemplatesDtos)); }
public async Task <IActionResult> GetPublicTemplatesAsync( [FromQuery] PublicTrainingTemplatePaginationModel model, int userId) { return(this.ConvertResult(await publicTraningService.GetPublicTemplatesAsync(model, userId))); }