Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }