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)); }
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")); }
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)); }
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)); }
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); }