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!")); }
private ActionResult DeleteGame(GameUpload gameUpload) { var node = _gameManagerNodeRepository.Get(gameUpload.Id); _gameManagerNodeRepository.Delete(node); _storage.Save(); _gameManagerService.DeleteGame(node); return(Json("Game deleted!")); }
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!")); }
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); }