public Task <OpponentDTO> CreateOpponentAsync(CreateOpponentDataModel createOpponentDataModel, CancellationTokenSource cancellationTokenSource) => Task <OpponentDTO> .Run(async() => { if (!CrossConnectivity.Current.IsConnected) { throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); } OpponentDTO createdOpponent = null; CreateOpponentRequest createOpponentRequest = new CreateOpponentRequest() { AccessToken = GlobalSettings.Instance.UserProfile.AccesToken, Url = GlobalSettings.Instance.Endpoints.ScheduleEndpoints.CreateNewOpponent, Data = createOpponentDataModel }; try { CreateOpponentResponse createOpponentResponse = await _requestProvider.PostAsync <CreateOpponentRequest, CreateOpponentResponse>(createOpponentRequest); if (createOpponentResponse != null) { createdOpponent = BuildOpponent(createOpponentResponse); } else { throw new InvalidOperationException(CREATE_OPPONENT_COMMON_ERROR_MESSAGE); } } catch (ServiceAuthenticationException exc) { _identityUtilService.RefreshToken(); throw exc; } catch (Exception exc) { Crashes.TrackError(exc); throw; } return(createdOpponent); }, cancellationTokenSource.Token);
public void InvokeNewOpponentCreated(object sender, OpponentDTO createdOpponent) => NewOpponentCreated(sender, createdOpponent);