public CategoryDetailsDTO GetDetails(CategoryIdDTO id) { var category = _dbContext.Categories.FirstOrDefault(c => c.CategoryID == id.Id); if (category == null) { return(null); } var byteStream = new MemoryStream(category.Picture); var res = Mapper.Map <CategoryDetailsDTO>(category); res.Picture = byteStream; return(res); }
public async Task <List <Course> > GetRecommendedCoursesAsync(int userId) { var coursesEnlistedByUser = await GetEnrolmentCoursesAsync(userId); var categories = await _repository.GetCategoriesAsync(); int categoryCounter = 0; List <Course> enlistedCourses = new List <Course>(); List <CategoryIdDTO> category = new List <CategoryIdDTO>(); foreach (var enrolment in coursesEnlistedByUser.CourseEnrolment) { enlistedCourses.Add(enrolment.Course); } foreach (var categoryItem in categories) { foreach (var categorizedCourse in enlistedCourses) { if (categorizedCourse.CategoryId == categoryItem.Id) { categoryCounter++; } } CategoryIdDTO item = new CategoryIdDTO(); item.Id = categoryItem.Id; item.Count = categoryCounter; category.Add(item); } // poprawic to gówno // jesli nie pierwsza kategoria to nastepna i tak ojebania wszyzstkich kategorii // dodać współczynnik zainteresowania -> najczesciej wybierane kursy // + w danym przedziale wiekowym // category.Sort(); var choosen = category.First(); // pobrac kursy na które nie jest zapisany uzytkownik // a z nich te które wskaże wspołczynnik zaiteresowania return(enlistedCourses); }