示例#1
0
 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));
     }
 }
示例#2
0
        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)))));
        }