예제 #1
0
        private (IDataView training, IDataView test) LoadData(MLContext mlContext)
        {
            var r        = new Random();
            var testData = _rateRepository.GetAll().Where(t => t.UserId == "100026" || t.UserId == "283788" || t.UserId == "163112").Select(s => new RecipeModel
            {
                UserId   = int.Parse(s.UserId),
                RecipeId = s.RecipeId,
                Rating   = s.Rate
            }).OrderBy(t => r.Next()).ToList();

            var r2           = new Random();
            var trainingData = _rateRepository.GetAll().Where(t => t.UserId != "1000026" || t.UserId != "283788" || t.UserId != "163112").Select(s => new RecipeModel
            {
                UserId   = int.Parse(s.UserId),
                RecipeId = s.RecipeId,
                Rating   = s.Rate
            }).OrderBy(t => r2.Next()).ToList();

            IDataView trainingDataView = mlContext.Data.LoadFromEnumerable(trainingData);
            IDataView testDataView     = mlContext.Data.LoadFromEnumerable(testData);


            var preview = ToDataTable(trainingDataView);

            return(trainingDataView, testDataView);
        }
        public TableData GetTopRated(int count)
        {
            var topRated = _rateRepository.GetAll().GroupBy(t => new { t.RecipeId }).Select(group => new TopRated
            {
                RecipeId = group.Key.RecipeId,
                Count    = group.Count()
            }).OrderByDescending(t => t.Count).ToList().Take(count);

            foreach (var topRecipe in topRated)
            {
                topRecipe.Recipe = _recipeRepository.GetRecipeById(topRecipe.RecipeId);
            }

            return(new TableData
            {
                DataSets = new List <TableDataSet>
                {
                    new TableDataSet
                    {
                        Labels = topRated.Select(t => t.Recipe.Name).ToList(),
                        Data = topRated.Select(t => t.Count).ToList()
                    }
                },
                Title = $"Top Ratings {DateTime.Now.Year}"
            });
        }
예제 #3
0
        public IEnumerable <Rate> GetAll()
        {
            List <Rate> ListRate = new List <Rate>();

            foreach (Rate RateOne in _repository.GetAll())
            {
                Rate NewRate = new Rate();
                NewRate         = RateOne;
                NewRate.User    = null;
                NewRate.Product = null;
                ListRate.Add(NewRate);
            }
            return(ListRate);
        }
예제 #4
0
파일: RateService.cs 프로젝트: jefridev/GNB
        public async Task<IList<Rate>> GetAllAsync(string endPoint)
        {
            IList<Rate> rates = null;
            try
            {
                using(var httpClient = new HttpClient())
                {
                    var response = await httpClient.GetAsync(endPoint);
                    response.EnsureSuccessStatusCode();

                    var content = await response.Content.ReadAsStringAsync();
                    var ratesJson = JsonConvert.DeserializeObject<List<RateJson>>(content);

                    await _rateRepository.RemoveAllAsync();
                    await _rateRepository.UnitOfWork.Complete();

                    rates = ratesJson.Select(rate => new Rate()
                    {
                        From = rate.From,
                        To = rate.To,
                        ConversionRate = rate.Rate
                    }).ToList();

                    await _rateRepository.InsertAllAsync(rates);
                    await _rateRepository.UnitOfWork.Complete();
                }        
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
            }
            finally
            {
                rates = _rateRepository.GetAll().ToList();
            }
            return rates;
        }