Ejemplo n.º 1
0
        private List <InternalRating> GetInternalRatings()
        {
            var internalRatings   = new List <InternalRating>();
            var ratingData        = GetCsvData("RelativePathToRatingsFile", "UserID;Movie;Rating");
            var fileFormatCulture = CultureInfo.CreateSpecificCulture(Configuration["CsvFileCulture"]);

            foreach (var line in ratingData)
            {
                var internalRating = new InternalRating {
                    MovieName = line[1]
                };

                if (int.TryParse(line[0], out var userId) &&
                    float.TryParse(line[2], NumberStyles.Float, fileFormatCulture, out var rating))
                {
                    internalRatings.Add(new InternalRating
                    {
                        UserId    = userId,
                        MovieName = line[1],
                        Rating    = rating
                    });
                }
                else
                {
                    throw new InvalidDataException("Unable to parse rating file");
                }
            }

            return(internalRatings);
        }
 internal Rating(InternalRating rating)
 {
     Source = rating.Source;
     Value  = rating.Value;
 }