using Back.Common; using Back.Data.Contracts; using Back.Data.Models; using Shared.DTOs; using Shared.DTOs.Serch; namespace Back.Services { public class ServCOD { private readonly IAsyncRepository _CODRepo; public ServCOD(IAsyncRepository CODRepo) { _CODRepo = CODRepo; } public async Task?> GetCODs(int CompanyID, ItemSerchGetCOD itemSerch) { #region AdvancedSearch var invok = _CODRepo .Get(w => w.CompanyID == CompanyID && !w.IsDeleted); //foreach (InputObj item in inputObjs) // invok = invok.Where(ExMethod.GetFunc(item.Param, item.Value)); if (!string.IsNullOrEmpty(itemSerch.Title)) invok = invok.Where(w => w.Title.Contains(itemSerch.Title)); if (!string.IsNullOrEmpty(itemSerch.ItemTaxID)) invok = invok.Where(w => w.ItemTaxID == itemSerch.ItemTaxID); if (itemSerch.CODID.HasValue) invok = invok.Where(w => w.ID == itemSerch.CODID); if (itemSerch.UnitID.HasValue) invok = invok.Where(w => w.UnitID == itemSerch.UnitID); #endregion //----------------------- return await invok.Select(s => new RCOD() { ID = s.ID, TaxID = s.ItemTaxID, Title = s.Title, Unit = s.CODUnit.Title, TaxRate = s.TaxRate }) .Paging(itemSerch.PageIndex, itemSerch.PageSize); } } }