/// <summary> /// Update a specific request in the database and check if both users in request have approved or "swiped right", add player to party and deactivate requests if so. /// </summary> /// <param name="updatedRequest">Updated request information from swipe</param> /// <returns>New updated Request</returns> public async Task <RequestDTO> UpdateRequest(RequestDTO updatedRequestDTO) { Request updatedRequest = DeconstructDTO(updatedRequestDTO); if (updatedRequest.PlayerAccepted && updatedRequest.DungeonMasterAccepted) { // Add the player to the party and deactivate their requests if they both user's have accepted the request. await _party.AddPlayerToParty(updatedRequest.DungeonMasterId, updatedRequest.PlayerId); updatedRequest.Active = false; await DeactivateAllPlayerRequests(updatedRequest.PlayerId); } _context.Entry(updatedRequest).State = EntityState.Modified; await _context.SaveChangesAsync(); return(updatedRequestDTO); }