using Karsha_Site.Application.Interfaces.Contexts; using System; using System.Collections.Generic; using System.Linq; using Karsha_Site.Common; namespace Karsha_Site.Application.Services.About.Queries.GetAbout { public class GetAboutServise: IGetAboutServise { private readonly IDataBaseContext _context; public GetAboutServise(IDataBaseContext context) { _context = context; } public ResultAboutDto Execute(RequestGetAboutDto request) { var about = _context.Abouts.AsQueryable(); if (!string.IsNullOrWhiteSpace(request.SearchKey)) { about = about.Where(c => c.Title.ToString().Contains(request.SearchKey) || c.Description.Contains(request.SearchKey)); } int rowsCount = 0; var aboutList = about.ToPaged(request.Page, request.PageSize, out rowsCount).Select(p=>new GetAboutDto { Title = p.Title, Description = p.Description, Email = p.Email, Instagram = p.Instagram, PostiCode = p.PostiCode, PostiSandogh = p.PostiSandogh, ID = p.ID }).ToList(); return new ResultAboutDto { AboutDto = aboutList, Rows = rowsCount, PageSize = request.PageSize, CurrentPage = request.Page }; } } }