コード例 #1
0
        public IHttpResponse FinishOrder(IHttpRequest req)
        {
            bool loggedIn = userService.CheckIfLogedIn(req);

            if (!loggedIn)
            {
                return(new RedirectResponse(@"\login"));
            }

            if (this.cart.Count < 1)
            {
                return(new RedirectResponse(@"\cart"));
            }

            User currentUser = userService.GetCurrentUser(req);

            this.ViewData["displayBougthGamesMessage"] = "none";

            List <string> bougthGamesCount = new List <string>();

            foreach (Game game in this.cart)
            {
                UserGame userGame = new UserGame()
                {
                    CreatorId = currentUser.Id,
                    GameId    = game.Id
                };

                if (userService.UserGameNotAvaliable(currentUser.Id, game.Id))
                {
                    this.ViewData["displayBougthGamesMessage"] = "block";
                }
                else
                {
                    bougthGamesCount.Add(game.Title);
                    gameService.AddUserGameToDb(userGame);
                }
            }


            this.ViewData["gamesCount"] = string.Join(", ", bougthGamesCount);

            this.cart.Clear();

            if (currentUser.IsAdmin)
            {
                return(this.FileViewResponse(@"Cart\orderCompletedAdmin"));
            }
            else
            {
                return(this.FileViewResponse(@"Cart\orderCompleted"));
            }
        }