// PUT api/Player/5 public IHttpActionResult PutPlayer(int id, Player player) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != player.PlayerId) { return(BadRequest()); } db.Entry(player).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PlayerExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
// PUT api/Battle/5 public IHttpActionResult PutBattle(int id, Battle battle) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != battle.BattleId) { return(BadRequest()); } db.Entry(battle).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!BattleExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private Player PostPlayer(Player player) { var serverPlayer = db.Players.Where(x => x.AccountDBID == player.AccountDBID).SingleOrDefault(); if (serverPlayer == null) { db.Players.Add(player); db.SaveChanges(); serverPlayer = player; } return(serverPlayer); }
public ActionResult StartNewSession(string name) { var playerBattles = db.PlayerBattles.Where(x => x.Player.Name == name); db.PlayerBattles.RemoveRange(playerBattles); db.SaveChanges(); var battles = db.Battles.Where(x => x.PlayerBattles.Count == 0); db.Battles.RemoveRange(battles); db.SaveChanges(); TempData["Message"] = "Session successfully reset"; return(RedirectToAction("Recent", "Battles", new { id = name })); }
public void LoadClanDetails(int clanId) { using (WotKitEntities db = new WotKitEntities()) { // Get the clan and load it var clan = _wargamingApiService.GetClanDetails(clanId); // TODO: var clanInDb = Upsert(clan); // Insert or update the clan var clanInDb = db.Clans.Where(x => x.ClanId == clanId).SingleOrDefault(); if (clanInDb == null) { // Add the clan clanInDb = new Clan() { ClanId = clanId, Abbreviation = clan.Abbreviation, Name = clan.Name, EmblemBWTank = clan.EmblemBWTank, EmblemLarge = clan.EmblemLarge, EmblemMedium = clan.EmblemMedium, EmblemSmall = clan.EmblemSmall, CreatedAtDate = clan.CreatedAtDate, UpdatedAtDate = clan.UpdatedAtDate }; db.Clans.Add(clanInDb); db.SaveChanges(); } else { // Update the clan? clanInDb.UpdatedAtDate = clan.UpdatedAtDate; } // Now using the members load them DateTime now = DateTime.UtcNow; foreach (var member in clan.Members) { // Is this dude even in the database? var player = db.Players.Where(x => x.AccountDBID == member.AccountId).SingleOrDefault(); if (player == null) { // Add em player = new Player() { AccountDBID = member.AccountId, Name = member.AccountName, }; db.Players.Add(player); } db.SaveChanges(); // Go get details for this player var playerPersonalData = _wargamingApiService.GetPlayerPersonalData(player.AccountDBID); // Now we add a record for this batch taking a count of their battles db.ClanDetails.Add(new ClanDetail() { AsOfDate = now, AllBattles = playerPersonalData.All.Battles, ClanId = clanInDb.ClanId, ClanBattles = playerPersonalData.Clan.Battles, PlayerId = player.PlayerId, CompanyBattles = playerPersonalData.Company.Battles, Role = member.Role, Rolei18n = member.Rolei18n }); } db.SaveChanges(); } }