public async Task <IEnumerable <ResponsePositionModel> > GetAllPositions() { var positions = await _positionManager.GetAllPosition(); if (positions == null || positions.Count == 0) { return(null); } var critToPos = await _dataContext.CriterionsToPosition.Include(x => x.Criterion).ToListAsync(); var result = positions.Select(x => new ResponsePositionModel { PositionName = x.PositionName, Criterions = critToPos.Where(xx => xx.PositionId == x.PositionId) .Select(y => new CriterionModel { Name = y.CriterionName, Weight = y.Criterion.Weight }) }); return(result); }