using Karsha_Site.Application.Interfaces.Contexts; using System; using System.Collections.Generic; using System.Linq; using Karsha_Site.Common; namespace Karsha_Site.Application.Services.Costomers.Queries.GetCustomers { public class GetAboutAddressServise: IGetAboutAddressServise { private readonly IDataBaseContext _context; public GetAboutAddressServise(IDataBaseContext context) { _context = context; } public ResultAboutAddressDto Execute(RequestGetAboutAddressDto request) { var customers = _context.Customers.AsQueryable(); if (!string.IsNullOrWhiteSpace(request.SearchKey)) { customers = customers.Where(c => c.Address.Contains(request.SearchKey) || c.FullName.Contains(request.SearchKey)); } int rowsCount = 0; var customerList = customers.ToPaged(request.Page, request.PageSize, out rowsCount).Select(p=>new GetAboutAddressDto { Code = p.Code, FullName = p.FullName, Image = p.Image, Address = p.Address, ID = p.ID, Link = p.Link }).ToList(); return new ResultAboutAddressDto { CustomersDtos = customerList, Rows = rowsCount, PageSize = request.PageSize, CurrentPage = request.Page }; } } }