public IActionResult _List(CompanyFilterModel filter) { ViewBag.Companies = new SelectList(db.Company.Where(s => !s.Deleted).Select(s => new LookupEntity { Id = s.Id, Name = s.Name }).ToList(), "Id", "Name"); var companies = (from c in db.Company join coc in db.CompanyOutsourceCompany on c.Id equals coc.OutsourceCompanyId into cod from d in cod.DefaultIfEmpty() where !c.Deleted && (filter.CompanyId == null || c.Id == filter.CompanyId) && (filter.MainCompanyId == null || d.CompanyId == filter.MainCompanyId) orderby c.Name select new ComapnyListViewModel { Id = c.Id, Name = c.Name, MainCompanyId = d.Company != null ? d.CompanyId : 0, MainCorporationName = d.Company != null ? d.Company.Name : "", Scale = c.CompanyScale != null ? c.CompanyScale.Name : "", Type = c.CompanyType != null ? c.CompanyType.Name : "", WorkLine = c.CompanyWorkLine != null ? c.CompanyWorkLine.Name : "" } ) .ToPagedFilteredResult(filter); return(PartialView(companies)); }
public async Task <List <Company> > GetCompanies(CompanyFilterModel filterRequest) { Expression <Func <Company, bool> > filterPredicate = c => true; if (filterRequest != null) { var isIdExist = filterRequest.Id != null; var isTitleExist = !string.IsNullOrEmpty(filterRequest.Title); filterPredicate = c => (!isIdExist || (c.Id == filterRequest.Id)) && (!isTitleExist || (c.Title == filterRequest.Title)); } return(await _companyRepository.FindBy(filterPredicate).ToListAsync()); }
public async Task <ActionResult <ListItemResponse <CompanyViewModel> > > GetAll(int?id, string name) { CompanyFilterModel filterModel = new CompanyFilterModel { Id = id, Name = name, }; ListItemResponse <Company> companyList = await _companyRepository.GetAll(filterModel); return(Ok(new ListItemResponse <CompanyViewModel> { Items = companyList.Items.Select(u => _mapper.Map <CompanyViewModel>(u)), TotalItems = companyList.TotalItems })); }
public async System.Threading.Tasks.Task <List <CompanyModel> > GetCompanies(CompanyFilterModel filter = null) { var filters = new List <ReqestParameter>(); if (filter?.Location != null) { filters.Add(new ReqestParameter { Name = "Location", Value = filter.Location }); } if (filter?.Industry != null) { filters.Add(new ReqestParameter { Name = "Industry", Value = filter.Industry.DescriptionAttr() }); } return(await requestProvider.GetAsync <List <CompanyModel> >(ListCompaniesEndpoint, filters)); }
public async Task <PageModel <CompanyModel> > GetCompanies(PageModel pageModel, CompanyFilterModel filter = null) { var query = _context.Companies .Include(x => x.Creator) .AsQueryable(); if (filter != null) { if (!string.IsNullOrEmpty(filter.Search)) { var searchUpper = filter.Search.ToUpper(); query = query.Where(x => x.Name.ToUpper().Contains(searchUpper)); } if (filter.CreatedFrom.HasValue) { query = query.Where(x => x.CreatedDate >= filter.CreatedFrom); } if (filter.CreatedTo.HasValue) { query = query.Where(x => x.CreatedDate <= filter.CreatedTo); } } var total = await query.CountAsync(); var items = await query .OrderBy(x => x.Name) .GetPage(pageModel) .ToListAsync(); return(new PageModel <CompanyModel> { Page = pageModel.Page, PageSize = pageModel.PageSize, Total = total, Items = items }); }
public SearchService() { CurrentJobFilter = new JobFilterModel(); CurrentCompanyFilter = new CompanyFilterModel(); CurrentPeopleFilter = new PeopleFilterModel(); }