public async Task <IEnumerable <Asset> > GetByCriteria( int organizationId, AssetCriteria criteria) { //var test = // AssetTrackerContext.Assets // .Include(s => s.Status) // .Include(t => t.Type) // .Include(l => l.AssetLocations).ThenInclude(n => n.Location) // .Where(o => o.AssetOrganizations.Any(a => a.OrganizationId == 3)) // .ToList(); IQueryable <Asset> query = FindIf(true, o => o.AssetOrganizations.Any(i => i.OrganizationId == organizationId)); //FindIf(true, c => c.CreateDt < DateTime.Today); //.FindIf(mode == 2, c => c.ExpireDt >= DateTime.Today.Subtract(TimeSpan.FromDays(30))) //.FindIf(mode == 3, c => c.ExpireDt >= DateTime.Today.Subtract(TimeSpan.FromDays(60))) //.FindIf(afterDt.HasValue, c => c.ExpireDt >= afterDt) //.FindIf(msgTypes.Count > 0, c => msgTypes.Contains(c.MsgTypeId)) //.FindIf(msgAudiences.Count > 0, c => msgTypes.Contains(c.MsgAudienceId)); return(await query .Include(s => s.Status) .Include(t => t.Type) .Include(l => l.AssetLocations).ThenInclude(n => n.Location) .ToListAsync()); }
public async Task <IEnumerable <Asset> > GetByCriteria( int organizationId, AssetCriteria criteria) { return(await _repository.GetByCriteria ( organizationId, criteria )); }
public async Task <IActionResult> Get() { var organizationId = User.Claims.FirstOrDefault(c => c.Type == "selectedOrganization").Value; var criteria = new AssetCriteria(); try { var items = _mapper.Map <IEnumerable <Model.Asset> >( await _service.GetByCriteria(Convert.ToInt32(organizationId), criteria)); return(Ok(items)); } catch (Exception ex) { return(BadRequest(ex)); } }