public async Task <EmployePositionRecommendation> Get(int employeeId) { EmployePositionRecommendation vm = cashe[employeeId]; if (vm != null) { return(vm); } var courses = context.LoadCourses(); var positions = context.LoadPositions(); var employee = context.LoadEmpoyees().FirstOrDefault(e => e.Id == employeeId); if (employee == null) { return(null); } List <RecommendationSystemAnswerItem> recommendationSystemAnswers = await Request <List <RecommendationSystemAnswerItem> >(requestStringBuilder.GetEmployeeRecomendation(employeeId)); List <PositionRecommendation> positionRecommendations = recommendationSystemAnswers.Select( a => new PositionRecommendation( positions.First(p => p.Id == a.PositionId), courses.Where(c => a.CourseIds.Contains(c.Id)) ) ).ToList(); var employePositionRecommendation = new EmployePositionRecommendation(employee, positionRecommendations); cashe[employeeId] = employePositionRecommendation; return(employePositionRecommendation); }
public ActionResult <IEnumerable <Employee> > Get() { return(Ok(context.LoadEmpoyees())); }