public async Task <PageList <Componentas> > GetComponents(ComponentParams componentParams) { var componentass = _context.Componentass.Include(p => p.Photos).AsQueryable(); if (componentParams.Size != null) { componentass = componentass.Where(u => u.Size == componentParams.Size); } if (componentParams.Type != null) { componentass = componentass.Where(u => u.Type == componentParams.Type); } if (componentParams.Mnf != null) { componentass = from u in componentass where u.Mnf.Contains(componentParams.Mnf) select u; } if (componentParams.Nominal != null) { componentass = from u in componentass where u.Nominal.Contains(componentParams.Nominal) select u; } if (componentParams.BuhNr != null) { componentass = from u in componentass where u.BuhNr.Contains(componentParams.BuhNr) select u; } if (!string.IsNullOrEmpty(componentParams.OrderBy)) { switch (componentParams.OrderBy) { case "created": componentass = componentass.OrderByDescending(u => u.Created); break; case "nominal": componentass = componentass.OrderBy(u => u.Nominal); break; case "mnf": componentass = componentass.OrderBy(u => u.Mnf); break; default: componentass = componentass.OrderBy(u => u.Id); break; } } return(await PageList <Componentas> .CreateAsync(componentass, componentParams.PageNumber, componentParams.PageSize)); }
public async Task <IActionResult> GetComponents([FromQuery] ComponentParams componentParams) { var components = await _repo.GetComponents(componentParams); var componentsToReturn = _mapper.Map <IEnumerable <ComponetsForListDto> >(components); Response.AddPagination(components.CurrentPage, components.PageSize, components.TotalCount, components.TotalPages); return(Ok(componentsToReturn)); }
public async Task <IEnumerable <Component> > GetComponents(ComponentParams componentParams) { if (componentParams == null) { componentParams = new ComponentParams(); } var query = _context.Components.Include(x => x.Category).AsQueryable(); if (componentParams.CategoryId.HasValueGreaterThan(0)) { query = query.Where(x => x.CategoryId == componentParams.CategoryId); } return(await query.ToListAsync()); }
private void InitializeProperties(object first) { Type type = first.GetType(); if (ComponentParams.Contains("columns") == false) { if (propertiesCache.Contains(type)) { properties = (PropertyInfo[])propertiesCache[type]; } else { propertiesCache[type] = properties = type.GetProperties(); } return; } List <PropertyInfo> props = new List <PropertyInfo>(); IEnumerable columns = (IEnumerable)ComponentParams["columns"]; foreach (string columnName in columns) { string key = type.FullName + "." + columnName; PropertyInfo propertyInfo; if (propertiesCache.Contains(key)) { propertyInfo = (PropertyInfo)propertiesCache[key]; } else { propertiesCache[key] = propertyInfo = type.GetProperty(columnName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase); } if (propertyInfo != null) { props.Add(propertyInfo); } } properties = props.ToArray(); }
public async Task <IActionResult> GetComponents([FromQuery] ComponentParams componentParams) { var components = await _repo.GetComponents(componentParams); return(Ok(components)); }