public object Update([FromBody] UpdatedApplication applicationPut, int id) { if (applicationPut == null || _context.Teams.Find(applicationPut.TeamId) == null) { return(StatusCode(500)); } if (_context.Applications.Find(id) != null) { var updatedApplication = _context.Applications.Where(x => x.ApplicationId == id).Include(a => a.Players).FirstOrDefault(); _context.Entry(updatedApplication).CurrentValues.SetValues(ApplicationService.UpdateApplication(applicationPut, id)); foreach (var player in updatedApplication.Players) { if (applicationPut.Players.All(p => p.Id != player.PlayerId)) { _context.Players.Remove(player); } } foreach (var player in applicationPut.Players) { var playerDb = _context.Players.Find(player.Id); if (playerDb != null) { _context.Entry(playerDb).CurrentValues.SetValues(ApplicationService.UpdatePlayer(player, id)); } else { _context.Players.Add(ApplicationService.CreatePlayer(player, id)); } } _context.SaveChanges(); return(StatusCode(200, ApplicationService.GetApplication(_context.Applications.Find(id)))); } else { return(StatusCode(404)); } }
public object Update([FromBody] List <UpdatedMatch> matchesPut) { foreach (var matchPut in matchesPut) { var matchDb = _context.Matches.Find(matchPut.Id); if (matchDb == null) { return(StatusCode(500)); } _context.Entry(matchDb).CurrentValues.SetValues(MatchService.UpdateMatch(matchPut)); } _context.SaveChanges(); return(StatusCode(200, MatchService.GetMatches(matchesPut.Select(m => _context.Matches.Find(m.Id))))); }