コード例 #1
0
        private ActionResult UpdateGame(GameUpload gameUpload)
        {
            var node = _gameManagerNodeRepository.Get(gameUpload.Id);

            node.Name        = gameUpload.Name;
            node.SortName    = gameUpload.SortName;
            node.Description = gameUpload.Description;
            node.ReleaseDate = gameUpload.ReleaseDate;
            node.Players     = gameUpload.Players;
            node.Developer   = gameUpload.Developer;
            node.Publisher   = gameUpload.Publisher;
            node.Type        = GameManagerNodeType.Game;

            if (gameUpload.Cover != null && gameUpload.Cover != "")
            {
                var coverFile = _gameManagerFileRepository.All().Where(f => f.NodeId == node.Id && f.Name.EndsWith(".png")).First();

                System.IO.File.WriteAllBytes(coverFile.Path, Convert.FromBase64String(gameUpload.Cover.Split(",")[1]));
            }

            _storage.Save();

            _gameManagerService.UpdateGame(node);

            return(Json("Game updated!"));
        }
コード例 #2
0
        private ActionResult DeleteGame(GameUpload gameUpload)
        {
            var node = _gameManagerNodeRepository.Get(gameUpload.Id);

            _gameManagerNodeRepository.Delete(node);
            _storage.Save();
            _gameManagerService.DeleteGame(node);

            return(Json("Game deleted!"));
        }
コード例 #3
0
        public async Task <ActionResult> AddGame()
        {
            var temporaryFiles = new List <GameManagerFile>();
            var formModel      = await Request.StreamFile(_configuration["TemporaryPath"], temporaryFiles);

            GameUpload gameUpload        = new GameUpload();
            var        bindingSuccessful = await TryUpdateModelAsync(gameUpload, prefix : "", valueProvider : formModel);

            if (!bindingSuccessful)
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
            }

            if (gameUpload.Cover != null && gameUpload.Cover != "")
            {
                var file = new GameManagerFile()
                {
                    Name = "cover.png",
                    Path = Path.GetTempFileName()
                };

                var splitted = gameUpload.Cover.Split(",");
                if (splitted.Length > 1)
                {
                    System.IO.File.WriteAllBytes(file.Path, Convert.FromBase64String(splitted[1]));

                    temporaryFiles.Add(file);
                }
            }

            // Add game to the database
            var node = new GameManagerNode()
            {
                Name        = gameUpload.Name,
                SortName    = gameUpload.SortName,
                Description = gameUpload.Description,
                ReleaseDate = gameUpload.ReleaseDate,
                Players     = gameUpload.Players,
                Developer   = gameUpload.Developer,
                Publisher   = gameUpload.Publisher,
                Type        = GameManagerNodeType.Game,
                Files       = temporaryFiles
            };

            _gameManagerNodeRepository.Create(node);
            _storage.Save();

            _gameManagerService.AddGame(node);

            Response.StatusCode = (int)HttpStatusCode.OK;
            return(Json("Game added!"));
        }
コード例 #4
0
        public ActionResult ModifyGame(GameUpload gameUpload, string UpdateAction)
        {
            ActionResult result = Json("");

            switch (UpdateAction)
            {
            case "Delete":
                result = DeleteGame(gameUpload);
                break;

            case "Update":
                result = UpdateGame(gameUpload);
                break;
            }

            return(result);
        }