private async void ExistingEndSession(EndSessionViewModel endSessionViewModel) { if (Application.internetReachability == NetworkReachability.NotReachable) { OldRecordCouldNotSent(); return; } try { endSessionViewModel.SessionId = _basicData.CurrentSessionId; endSessionViewModel.Location = _basicData.CurrentSessionLocation; var(success, statusCode) = await _probaHttpClient.SendEndSessionAsync(endSessionViewModel); if (!success) { OldRecordCouldNotSent(); return; } if (statusCode != HttpStatusCode.OK) { OldRecordCouldNotSent(); _probaLogger.LogWarning($"couldn't send end session with {statusCode} status"); return; } OldRecordSent(); } catch (Exception e) { OldRecordCouldNotSent(); _probaLogger.LogError(e.Message, e.StackTrace); } }
private async void EndSessionAsync(EndSessionViewModel endSessionViewModel) { endSessionViewModel.Error = _basicData.HasError; if (Application.internetReachability == NetworkReachability.NotReachable || _sending) { SaveEndSessionInDB(endSessionViewModel); return; } try { var(success, statusCode) = await _probaHttpClient.SendEndSessionAsync(endSessionViewModel); if (!success) { SaveEndSessionInDB(endSessionViewModel); return; } if (statusCode != HttpStatusCode.OK) { SaveEndSessionInDB(endSessionViewModel); _probaLogger.LogWarning($"couldn't send end session with {statusCode} status"); } } catch (Exception e) { SaveEndSessionInDB(endSessionViewModel); _probaLogger.LogError(e.Message, e.StackTrace); } }
private void EmptyEndSession() { var end = new EndSessionViewModel { SessionId = PlayerPrefs.GetString("ProbaSessionID"), UserId = PlayerPrefs.GetString("ProbaUserID") }; EndSessionAsync(end); }
internal static void EndSessionCreated(EndSessionViewModel endSessionViewModel) { EndSession?.Invoke(endSessionViewModel); }
private void END_SESSION_EVENT(EndSessionViewModel endSessionViewModel) { PlayerPrefs.SetInt("ProbaHasOpenSession", 0); EndSessionAsync(endSessionViewModel); }
private void SaveEndSessionInDB(EndSessionViewModel endSessionViewModel) { var esDB = JsonConvert.SerializeObject(endSessionViewModel); DatabaseConnection.InsertUnsentEvent("END_SESSION", esDB); }