public async Task <Game> Update(Game game) { var checkGame = await Get(game.Id); if (checkGame == null) { return(null); } var local = _dbContext.Set <Game>().Local.FirstOrDefault(l => l.Id.Equals(game.Id)); if (local != null) { _dbContext.Entry(local).State = EntityState.Detached; } _dbContext.Entry(checkGame).State = EntityState.Modified; checkGame.Name = game.Name; _dbContext.Games.Update(checkGame); await SaveAsync(); return(game); }
public async Task <Friend> Update(Friend friend) { var checkFriend = await Get(friend.Id); if (checkFriend == null) { return(null); } var local = _dbContext.Set <Friend>().Local.FirstOrDefault(l => l.Id.Equals(friend.Id)); if (local != null) { _dbContext.Entry(local).State = EntityState.Detached; } _dbContext.Entry(checkFriend).State = EntityState.Modified; checkFriend.Name = friend.Name; if (friend.UserId != null) { checkFriend.UserId = friend.UserId; } _dbContext.Friends.Update(checkFriend); await SaveAsync(); return(checkFriend); }
public async Task <Borrower> Lend(Lending lending) { Friend friend = await _dbContext.Friends.FirstOrDefaultAsync(f => f.Id == lending.Friend); if (friend == null) { return(null); } List <Game> games = await _dbContext.Games.Where(g => lending.Games.Contains(g.Id)).ToListAsync(); DateTime lendingDate = DateTime.Now; foreach (var game in games) { game.LendingDate = lendingDate; game.FriendId = friend.Id; _dbContext.Entry(game).State = EntityState.Modified; } await SaveAsync(); friend.Games = default; games.ForEach(game => game.Friend = default);