using System.Collections.Generic; using System.Linq; using _0_Framework.Application; using _0_Framework.InfraStructure; using Company.Domain.TaxLeftWorkItemAgg; using CompanyManagment.App.Contracts.TaxLeftWorkItem; namespace CompanyManagment.EFCore.Repository; public class TaxLeftWorkItemRepository : RepositoryBase, ITaxLeftWorkItemRepository { private readonly CompanyContext _context; public TaxLeftWorkItemRepository(CompanyContext context) : base(context) { _context = context; } public EditTaxLeftWorkItem GetDetails(long id) { return _context.TaxLeftWorkItems.Select(x => new EditTaxLeftWorkItem { Id = x.id, StartWork = x.StartWork, StartWorkFa = x.StartWork.ToFarsi(), LeftWork = x.LeftWork, LeftWorkFa = x.LeftWork.ToFarsi(), TaxLeftWorkCategoryId = x.TaxLeftWorkCategoryId }).OrderByDescending(x=>x.StartWork).FirstOrDefault(x => x.Id == id); } public List Search(TaxLeftWorkItemSerachModel searchModel) { var query = _context.TaxLeftWorkItems.Select(x => new TaxLeftWorkItemViewModel { Id = x.id, StartWork = x.StartWork, StartWorkFa = x.StartWork.ToFarsi(), LeftWork = x.LeftWork, LeftWorkFa = x.LeftWork.ToFarsi(), TaxLeftWorkCategoryId = x.TaxLeftWorkCategoryId }); if (searchModel.TaxLeftWorkCategoryId > 0) { query = query.Where(x => x.TaxLeftWorkCategoryId == searchModel.TaxLeftWorkCategoryId); } return query.OrderByDescending(x => x.StartWork).ToList(); } }