Exemple #1
0
        public void GetMoviesFromCsv()
        {
            _helpers.StartMethod();
            // IEnumerable<Movie> movieRecords;

            using (StreamReader reader = new StreamReader(csvFileLocation))
                using (CsvReader csv = new CsvReader(reader))
                {
                    csv.Configuration.RegisterClassMap <MovieMap>();

                    var movieRecords = csv.GetRecords <Movie>();
                    C.WriteLine($"movieRecords [1] : {movieRecords.Count()}");

                    foreach (var movie in movieRecords)
                    {
                        _context.Attach(movie);
                        // _context.Add(movie);
                        _context.SaveChanges();
                    }
                }
        }
Exemple #2
0
        public ActionResult SeedCluesFromCsv()
        {
            C.WriteLine("Seed Clues From Csv");

            using (StreamReader reader = new StreamReader(csvFileLocation))
                using (CsvReader csv = new CsvReader(reader))
                {
                    csv.Configuration.RegisterClassMap <ClueMap>();

                    IEnumerable <Clue> clueRecords = csv.GetRecords <Clue>();
                    C.WriteLine($"clueRecords : {clueRecords.Count()}");

                    foreach (Clue clue in clueRecords)
                    {
                        clue.DateCreated = DateTime.Now;
                        clue.DateUpdated = DateTime.Now;
                    }

                    _context.AttachRange(clueRecords);
                    _context.AddRange(clueRecords);
                    _context.SaveChanges();
                }
            return(Ok());
        }
        // [HttpPost("create_movie_user_join")]
        public void CreateMovieUserJoin(int GameOutcome)
        {
            int?playerId = HttpContext.Session.GetInt32("id");

            User retrievedUser = _context.Users.SingleOrDefault(p => p.UserId == playerId);

            var sessionMovieId = HttpContext.Session.GetInt32("SessionMovieId");

            // check if a join of player and movie already exists
            var playerJoins = _context.MovieUserJoin.Where(p => p.MovieId == sessionMovieId).Where(t => t.UserId == playerId);
            var joinsList   = playerJoins.ToList();

            List <int> maxes = new List <int> ();

            // check the game outcome - 1 is a win, 0 is a loss
            int oneGameOutcome = GameOutcome;

            // the player won, go this way
            if (oneGameOutcome == 1)
            {
                // since the player won, check if any joins with player/movie combo already exists
                int?newPoints = HttpContext.Session.GetInt32("NewPoints");

                if (joinsList.Count > 0)
                {
                    // not first time the player attempted this movie
                    Console.WriteLine("MPJ_A -- WIN _____ NOT FIRST JOIN");
                    foreach (var item in joinsList)
                    {
                        // get current attempt count and count of joins
                        int currAttemptCount = item.AttemptCount;
                        maxes.Add(currAttemptCount);
                    }

                    // get current max attempt of player/movie combo
                    var newAttemptsMax = maxes.Max() + 1;

                    // MPJ --> create new many-to-many of player and movie
                    MovieUserJoin MPJ_A = new MovieUserJoin
                    {
                        UserId         = (int)playerId,
                        MovieId        = (int)sessionMovieId,
                        AttemptCount   = newAttemptsMax,
                        PointsReceived = (int)newPoints,
                        WinFlag        = true,
                    };
                    _context.Add(MPJ_A);
                }


                // first time player attempted this movie
                else
                {
                    Console.WriteLine("MPJ_B -- WIN _____ FIRST JOIN");

                    MovieUserJoin MPJ_B = new MovieUserJoin
                    {
                        UserId         = (int)playerId,
                        MovieId        = (int)sessionMovieId,
                        AttemptCount   = 1,
                        PointsReceived = (int)newPoints,
                        WinFlag        = true,
                    };
                    _context.Add(MPJ_B);
                }
            }

            // the player lost
            if (oneGameOutcome == 0)
            {
                // this is not the first time the player has attempted to guess this movie
                if (joinsList.Count > 0)
                {
                    Console.WriteLine("MPJ_C -- LOSS _____ NOT FIRST JOIN");
                    foreach (var item in joinsList)
                    {
                        // get current attempt count and count of joins
                        int currAttemptCount = item.AttemptCount;
                        maxes.Add(currAttemptCount);
                    }

                    var newAttemptsMax = maxes.Max() + 1;

                    // MPJ --> create new many-to-many of player and movie
                    MovieUserJoin MPJ_C = new MovieUserJoin
                    {
                        UserId         = (int)playerId,
                        MovieId        = (int)sessionMovieId,
                        AttemptCount   = newAttemptsMax,
                        PointsReceived = 0,
                        WinFlag        = false,
                    };
                    _context.Add(MPJ_C);
                }
                else
                {
                    Console.WriteLine("MPJ_D -- LOSS _____ FIRST JOIN");

                    // MPJ --> create new many-to-many of player and movie
                    MovieUserJoin MPJ_D = new MovieUserJoin
                    {
                        UserId         = (int)playerId,
                        MovieId        = (int)sessionMovieId,
                        AttemptCount   = 1,
                        PointsReceived = 0,
                        WinFlag        = false,
                    };
                    _context.Add(MPJ_D);
                }
            }
            _context.SaveChanges();
            // return Json (playerJoins);
        }