private void Init() { resourceRead = new ResourceRead(this); resourceUpdate = new ResourceUpdate(this); }
public async Task <IActionResult> AddResource(int resourceType, string resourceUUID) { var(team, done) = await TestTeam(); if (team == null) { return(NotFound()); } if (done) { return(RedirectToAction("TimesUp")); } var validResource = (from res in _context.ItemsToBuys where res.Guid == resourceUUID select res).Count() == 1; if (!validResource) { return(RedirectToAction("Cheater")); } var rrs = (from readr in _context.ResourceReads where readr.TeamID == team.TeamID && readr.ResourceUUID == resourceUUID && readr.ReadAt > DateTime.Now select readr).Count(); if (rrs > 0) { return(RedirectToAction("Cheater")); } var type = ""; switch (resourceType) { case 0: team.Metal += 1; type = "Metal"; break; case 1: team.Wood += 1; type = "Wood"; break; case 2: team.Cloth += 1; type = "Cloth"; break; case 3: team.Plastic += 1; type = "Plastic"; break; default: break; } team.NumberOfActions += 1; var rr = new ResourceRead { ResourceUUID = resourceUUID, TeamID = team.TeamID, ReadAt = DateTime.Now.AddSeconds(30) }; _context.ResourceReads.Add(rr); _context.Teams.Update(team); var logLine = new LogLine { LogTime = DateTime.Now, Message = $"{team.TeamName} add a resource of type {type}" }; _context.Logs.Add(logLine); await _context.SaveChangesAsync(); return(View(team)); }