Пример #1
0
        public ActionResult EditGame(int id)
        {
            ApplicationUser user   = null;
            string          Userid = GetUserId();

            if (Userid != string.Empty && Userid != null)
            {
                user = context.Users.Where(a => a.Id == Userid).First();
            }

            if (user.UserInformation.Adress == null || user.UserInformation.Email == null || user.UserInformation.FirstName == null || user.UserInformation.LastName == null || user.UserInformation.PhoneNumber == null || user.UserInformation.PhoneNumber == null || user.UserInformation.PostCode == null || user.UserInformation.Town == null)
            {
                return(RedirectToAction("Index", "Manage", new { errorMessage = "Proszę wypełnić swoje dane przed dodaniem gry" }));
            }

            var game = context.Games.Find(id);

            if (game == null)
            {
                return(RedirectToAction("Index", new { errorMessage = "Nie ma takiej gry" }));
            }

            var vm = new GameCategoryViewModel()
            {
                GameCategories = context.CategoryGames.ToList(),
                Game           = game
            };

            return(View("~/Views/Game/EditGame.cshtml", vm));
        }
Пример #2
0
        public ActionResult SaveGame(GameCategoryViewModel vm, HttpPostedFileBase file, string newItem = null)
        {
            //Verify whether user has neccessary data
            ApplicationUser user = null;
            string          id   = User.Identity.GetUserId();

            if (id != string.Empty && id != null)
            {
                user = context.Users.Where(a => a.Id == id).First();
            }
            if (user.UserInformation == null)
            {
                RedirectToAction("Index", new { errorMessage = "Proszę wypełnić swoje dane przed dodaniem gry" });
            }

            int idd = vm.Game.GameId;

            var game = vm.Game;

            if (file != null && file.ContentLength > 0)
            {
                if (Path.GetExtension(file.FileName).ToLower() == ".jpg" || Path.GetExtension(file.FileName).ToLower() == ".png")
                {
                    var sourceImage = Image.FromStream(file.InputStream);

                    sourceImage = ResizeImage(sourceImage, 500, 500);

                    //Generowanie plik
                    var fileExt  = Path.GetExtension(file.FileName);
                    var filename = Guid.NewGuid() + fileExt; // Unikalny identyfikator + rozszerzenie

                    //W jakim folderze ma byc umiesczony dany plik oraz jego nazwa! Oraz zapis
                    var path = Path.Combine(Server.MapPath(AppConfig.ImagesGameFolder), filename);
                    //file.SaveAs(path);
                    sourceImage.Save(path);
                    game.MainPicture = filename;
                }
            }
            else if (file == null && newItem != null && newItem != String.Empty)
            {
                var fractImg = FractalGenerator.GenereateFractal1(user.Email);
                var filename = Guid.NewGuid() + ".jpg";
                var path     = Path.Combine(Server.MapPath(AppConfig.ImagesGameFolder), filename);
                fractImg.Save(path);
                game.MainPicture = filename;
            }

            game.GamesForExchange = System.Text.RegularExpressions.Regex.Replace(game.GamesForExchange, "[^0-9a-zA-ZżźćńółęąśŻŹĆĄŚĘŁÓŃ ]+", "|");
            game.UserId           = user.Id;


            context.Games.AddOrUpdate(game);
            context.SaveChanges();

            return(RedirectToAction("Games", "Manage"));
        }
Пример #3
0
        public PartialViewResult GameCategoryMenu(bool isMobile = false)
        {
            var cat = EntityRepository.Products.Select(p => p.ProductCategory).Select(c => new { c.ProductGame.GameName, c.ProductCategoryName }).Distinct();

            GameCategoryViewModel model = new GameCategoryViewModel
            {
                Games             = EntityRepository.Products.Select(p => p.ProductGame).Distinct(),
                ProductCategories = cat.AsEnumerable().Select(item => new KeyValuePair <string, string>(item.GameName, item.ProductCategoryName)).ToList()
            };

            if (isMobile)
            {
                return(PartialView("MobileMenu", model));
            }

            return(PartialView(model));
        }
Пример #4
0
        public async Task <ActionResult> AddGame()
        {
            var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

            if (user.UserInformation.Adress == null || user.UserInformation.Email == null || user.UserInformation.FirstName == null || user.UserInformation.LastName == null || user.UserInformation.PhoneNumber == null || user.UserInformation.PhoneNumber == null || user.UserInformation.PostCode == null || user.UserInformation.Town == null)
            {
                return(RedirectToAction("Index", new { errorMessage = "Proszę wypełnić swoje dane przed dodaniem gry" }));
            }

            var vm = new GameCategoryViewModel()
            {
                GameCategories = context.CategoryGames.ToList(),
                Game           = new Game()
            };

            return(View(vm));
        }
Пример #5
0
        public async Task <ActionResult> AddGame(GameCategoryViewModel vm, HttpPostedFileBase file)
        {
            var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

            if (user.UserInformation == null)
            {
                RedirectToAction("Index", new { errorMessage = "Proszę wypełnić swoje dane przed dodaniem gry" });
            }
            var game = vm.Game;

            if (file != null && file.ContentLength > 0)
            {
                if (Path.GetExtension(file.FileName).ToLower() == ".jpg" || Path.GetExtension(file.FileName).ToLower() == ".png")
                {
                    var sourceImage = Image.FromStream(file.InputStream);

                    sourceImage = ResizeImage(sourceImage, 500, 500);

                    //Generowanie plik
                    var fileExt  = Path.GetExtension(file.FileName);
                    var filename = Guid.NewGuid() + fileExt; // Unikalny identyfikator + rozszerzenie

                    //W jakim folderze ma byc umiesczony dany plik oraz jego nazwa! Oraz zapis
                    var path = Path.Combine(Server.MapPath(AppConfig.ImagesGameFolder), filename);
                    //file.SaveAs(path);
                    sourceImage.Save(path);
                    game.MainPicture = filename;
                }
            }

            game.UserId = user.Id;

            context.Games.Add(game);
            user.Games.Add(game);
            context.SaveChanges();
            //context.Exchanges.Add(new Exchange() { GameId = game.GameId, Game = game, DateOfInsert = DateTime.Now });
            //context.SaveChanges();

            return(RedirectToAction("Index", "Manage"));
        }
        private GameViewModel GetGameViewModel(Guid gameId, string userId)
        {
            var model = new GameViewModel
            {
                Game = _gameRepository.GetGameById(gameId)
            };

            if (model.Game != null)
            {
                model.UsersOwnCategory = _categoryRepository.GetUsersCategoryForActiveGame(gameId, userId);
                var userParticipant = _gameRepository.GetUserParticipant(gameId, userId);
                if (userParticipant != null)
                {
                    model.UserTurnType = userParticipant.TurnType;
                }

                var gameCategories = _categoryRepository.GetGameCategoriesForGame(gameId);
                model.OtherGameCategories = new List <GameCategoryViewModel>();
                if (userParticipant.TurnType == Enums.TurnType.Choose)
                {
                    foreach (var gameCategory in gameCategories.Where(x => x.ParticipantId != userParticipant.Id))
                    {
                        var gameCategoryViewModel = new GameCategoryViewModel()
                        {
                            GameCategory = gameCategory,
                            Category     = _categoryRepository.GetCategoryById(gameCategory.CategoryId)
                        };
                        model.OtherGameCategories.Add(gameCategoryViewModel);
                    }
                }
                else
                {
                    var gameCategory          = gameCategories.FirstOrDefault(x => x.ParticipantId == userParticipant.Id);
                    var gameCategoryViewModel = new GameCategoryViewModel()
                    {
                        GameCategory = gameCategory,
                        Category     = _categoryRepository.GetCategoryById(gameCategory.CategoryId)
                    };
                    model.OtherGameCategories.Add(gameCategoryViewModel);
                }

                if (model.Game.LatestCategoryChooserId != null)
                {
                    model.LatestCategoryChooserName =
                        _userManager.FindByIdAsync(model.Game.LatestCategoryChooserId).Result.UserName;
                }

                if (model.Game.SelectedAnswerQuestionId != null && model.Game.SelectedAnswerQuestionId.Value != Guid.Empty)
                {
                    var categoryOwnerParticipant =
                        _categoryRepository.GetParticipantFromAnswerQuestion(model.Game.SelectedAnswerQuestionId.Value, model.Game.Id);
                    if (categoryOwnerParticipant != null)
                    {
                        model.CategoryOwnerName =
                            _userManager.FindByIdAsync(categoryOwnerParticipant.UserId).Result.UserName;
                    }
                }

                if (model.Game.SelectedAnswerQuestionId != null)
                {
                    var chosenCategory =
                        _categoryRepository.GetCategoryFromAnswerQuestion(model.Game.SelectedAnswerQuestionId.Value);
                    model.ChosenCategoryName = chosenCategory.Name;
                }

                var gameUsersTask = _gameRepository.GetUsersForGameAsync(gameId, userId);
                gameUsersTask.Wait();
                var gameUsers = gameUsersTask.Result;
                model.UserList = Mapper.Map <List <GameUserViewModel> >(gameUsers);

                model.Highscore = GetHighScoreViewModel(model.Game.Id);

                if (model.Game.SelectedAnswerQuestionId != null)
                {
                    var chosenAnswerQuestion = _categoryRepository.GetAnswerQuestionById(model.Game.SelectedAnswerQuestionId.Value);
                    model.ChosenAnswerQuestion       = Mapper.Map <AnswerQuestionViewModel>(chosenAnswerQuestion);
                    model.ChosenAnswerQuestionPoints = _categoryRepository.GetAnswerQuestionPointsValue(chosenAnswerQuestion.Id);
                }

                _cache.Set("GameVersion:" + userId, model.Game.Version);
            }

            return(model);
        }