示例#1
0
        public async Task <IActionResult> AddGame(AddGameModel model, IFormFile uploadedFile)
        {
            if (ModelState.IsValid && uploadedFile != null)
            {
                string path = "/img/" + uploadedFile.FileName;
                using (var fileStream = new FileStream(hostEnvironment.WebRootPath + path, FileMode.Create))
                {
                    await uploadedFile.CopyToAsync(fileStream);
                }

                context.Games.Add(
                    new Game
                {
                    Name             = model.Name,
                    ShortDescription = model.ShortDescription,
                    LongDescription  = model.LongDescription,
                    Image            = path,
                    Prise            = model.Prise,
                    IsFavourite      = model.IsFavourite,
                    available        = model.available,
                    CategoryId       = model.Category
                });
                await context.SaveChangesAsync();

                return(RedirectToAction("GetGames"));
            }
            else
            {
                ModelState.AddModelError("", "Ошибка");
            }

            return(View(new AddGameModel(context)));
        }
示例#2
0
        public ActionResult AddGame(AddGameModel addGameModel, IList <HttpPostedFileBase> images)
        {
            SelectList categories = new SelectList(_gameLogic.GetCategories(), "CategoryId", "CategoryName");

            ViewBag.Categories = categories;
            var imageslist = images.ToList();

            string[] gameimages = new string[3];
            byte[]   imageData  = null;
            if (ModelState.IsValid)
            {
                for (int i = 0; i < gameimages.Length; i++)
                {
                    if (imageslist[i] != null)
                    {
                        using (var binaryReader = new BinaryReader(imageslist[i].InputStream))
                        {
                            imageData = binaryReader.ReadBytes(imageslist[i].ContentLength);
                        }
                        gameimages[i] = Convert.ToBase64String(imageData);
                    }
                    else
                    {
                        gameimages[i] = AddGameModel.defaultImage;
                        if (i == 1)
                        {
                            gameimages[i] = AddGameModel.defailtprofileimage;
                        }
                    }
                }
                _gameLogic.AddGame(addGameModel.Name, addGameModel.Price, addGameModel.Discount, gameimages[0], addGameModel.Description, addGameModel.Category, addGameModel.Producer, gameimages[1], gameimages[2]);
                return(RedirectToAction("Catalog"));
            }
            return(View(addGameModel));
        }
示例#3
0
        public IHttpActionResult CreateGame(AddGameModel model)
        {
            var game = Mapper.Map <AddGameModel, GameDTO>(model);

            _gameService.Create(game);

            return(Ok("Game created"));
        }
示例#4
0
        public int AddGame(AddGameModel addGame)
        {
            SomeGame game = new SomeGame()
            {
                Name    = addGame.Name,
                GenreId = addGame.GenreId
            };

            _repository.Add(game);

            return(game.Id);
        }
示例#5
0
 public ActionResult CreateGame(AddGameModel gameModel)
 {
     if (ModelState.IsValid)
     {
         GameDTO GameDTO = new GameDTO
         {
             Name        = gameModel.Name,
             Key         = gameModel.Key,
             Description = gameModel.Description
         };
         _gameStoreService.CreateGame(GameDTO);
     }
     return(RedirectToAction("Games"));
 }
示例#6
0
        public ActionResult AddGame(AddGameModel model)
        {
            this.CheckUser();
            if (ModelState.IsValid)
            {
                if (!ViewBag.IsAdmin)
                {
                    ModelState.AddModelError("", "Sorry, you do not have permission to add games");
                }
                else
                {
                    ViewBag.Permission = "granted";
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
示例#7
0
        public IActionResult SaveEditedGame(AddGameModel data)
        {
            User user = usersTable.GetUserByEmail(User.Identity.Name !) !;
            Game game = gamesTable.GetGameById(user.CurrentlyEditedGameId) !;

            try
            {
                List <Genre>   genres   = data.Genres.Select(g => genresTable.GetGenreByUrlId(g) !).ToList();
                List <Feature> features = data.Features.Select(f => featuresTable.GetFeatureByUrlId(f) !).ToList();

                game.GameFilter.Features = features;
                game.GameFilter.Genres   = genres;


                game.GameMedia.Screenshots = data.Screenshots is null ? "" : data.Screenshots;
                game.GameMedia.Trailers    = data.Trailers is null ? "" : data.Trailers;


                game.GameSystemRequirements.MinCpu                  = data.MinCpu == null ? "" : data.MinCpu;
                game.GameSystemRequirements.MaxCpu                  = data.MaxCpu == null ? "" : data.MaxCpu;
                game.GameSystemRequirements.MinRamMB                = data.MinRamMB;
                game.GameSystemRequirements.MaxRamMB                = data.MaxRamMB;
                game.GameSystemRequirements.MinGpu                  = data.MinGpu == null ? "" : data.MinGpu;
                game.GameSystemRequirements.MaxGpu                  = data.MaxGpu == null ? "" : data.MaxGpu;
                game.GameSystemRequirements.DiskSpaceMB             = data.DiskSpaceMB;
                game.GameSystemRequirements.DirectX                 = data.DirectX;
                game.GameSystemRequirements.SupportedOses           = data.SupportedOses == null ? "" : data.SupportedOses;
                game.GameSystemRequirements.ExtraInfo               = data.ExtraInfo == null ? "" : data.ExtraInfo;
                game.GameSystemRequirements.SupportedTextLanguages  = data.SupportedTextLanguages == null ? "" : data.SupportedTextLanguages;
                game.GameSystemRequirements.SupportedVoiceLanguages = data.SupportedVoiceLanguages == null ? "" : data.SupportedVoiceLanguages;


                var discount = float.Parse(data.Discount.Replace('.', ','));

                DateTime discountEndDate = discount != 0 && !string.IsNullOrEmpty(data.DiscountEndDate)
                    ? Convert.ToDateTime(data.DiscountEndDate)
                    : DateTime.MinValue;

                var releaseDate = Convert.ToDateTime(data.ReleaseDate);


                game.GameInfo.Cover               = data.Cover == null ? "" : data.Cover;
                game.GameInfo.Price               = data.Price;
                game.GameInfo.Discount            = discount;
                game.GameInfo.DiscountEndDate     = discountEndDate;
                game.GameInfo.ReleaseDate         = releaseDate;
                game.GameInfo.Rating              = data.Rating;
                game.GameInfo.ShortDescription    = data.ShortDescription == null ? "" : data.ShortDescription;
                game.GameInfo.DetailedDescription = data.DetailedDescription == null ? "" : data.DetailedDescription;
                game.GameInfo.LegalInfo           = data.LegalInfo == null ? "" : data.LegalInfo;


                game.Name      = data.Name == null ? "" : data.Name;
                game.Developer = data.Developer == null ? "" : data.Developer;
                game.GameUrl   = data.GameUrl == null ? "" : data.GameUrl;


                var success = gamesTable.UpdateGame(game);

                if (!string.IsNullOrEmpty(success))
                {
                    return(Content(success));
                }
            }
            catch (Exception e)
            {
                return(Content($"{e.Message}\n{e.StackTrace}"));
            }

            return(Content($"/game?gameid={game.GameUrl}"));
        }
示例#8
0
        public IActionResult SaveAddedGame(AddGameModel data)
        {
            try
            {
                List <Genre>   genres   = data.Genres.Select(g => genresTable.GetGenreByUrlId(g) !).ToList();
                List <Feature> features = data.Features.Select(f => featuresTable.GetFeatureByUrlId(f) !).ToList();

                var gameFilter = new GameFilter {
                    Features = features,
                    Genres   = genres
                };

                var gameMedia = new GameMedia {
                    Screenshots = data.Screenshots,
                    Trailers    = data.Trailers
                };

                var gameSystemRequirements = new GameSystemRequirement {
                    MinCpu                  = data.MinCpu,
                    MaxCpu                  = data.MaxCpu,
                    MinRamMB                = data.MinRamMB,
                    MaxRamMB                = data.MaxRamMB,
                    MinGpu                  = data.MinGpu,
                    MaxGpu                  = data.MaxGpu,
                    DiskSpaceMB             = data.DiskSpaceMB,
                    DirectX                 = data.DirectX,
                    SupportedOses           = data.SupportedOses,
                    ExtraInfo               = data.ExtraInfo == null ? "" : data.ExtraInfo,
                    SupportedTextLanguages  = data.SupportedTextLanguages,
                    SupportedVoiceLanguages = data.SupportedVoiceLanguages
                };

                var discount = float.Parse(data.Discount.Replace('.', ','));

                DateTime discountEndDate = discount != 0 && !string.IsNullOrEmpty(data.DiscountEndDate)
                    ? Convert.ToDateTime(data.DiscountEndDate)
                    : DateTime.MinValue;

                var releaseDate = Convert.ToDateTime(data.ReleaseDate);

                var gameInfo = new GameInfo {
                    Cover               = data.Cover,
                    Price               = data.Price,
                    Discount            = discount,
                    DiscountEndDate     = discountEndDate,
                    ReleaseDate         = releaseDate,
                    Rating              = data.Rating,
                    ShortDescription    = data.ShortDescription,
                    DetailedDescription = data.DetailedDescription,
                    LegalInfo           = data.LegalInfo
                };

                var game = new Game {
                    Name      = data.Name,
                    Developer = data.Developer,
                    GameUrl   = data.GameUrl,
                    GameInfo  = gameInfo,
                    GameSystemRequirements = gameSystemRequirements,
                    GameMedia  = gameMedia,
                    GameFilter = gameFilter
                };

                var success = gamesTable.AddGame(game);

                if (!string.IsNullOrEmpty(success))
                {
                    return(Content(success));
                }
            }
            catch (Exception e)
            {
                return(Content($"{e.Message}\n{e.StackTrace}"));
            }

            return(Content(""));
        }
示例#9
0
        public IActionResult AddGame()
        {
            AddGameModel obj = new AddGameModel(context);

            return(View(obj));
        }