Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session.SaveSessionStorage C# (CSharp) Метод

SaveSessionStorage() приватный Метод

private SaveSessionStorage ( ) : void
Результат void
        private void SaveSessionStorage()
        {
            _sessionStorage._startTime = StartTime;
            _sessionStorage._stopTime = StopTime;
            _sessionStorage._preStartTime = PreStartTime;
            _sessionStorage._sessionId = SessionId;
            _sessionStorage._duration = Duration;

            // store session into file
            _logger.DebugFormat("Mobile Analytics is about to store session info: {0} ", JsonMapper.ToJson(_sessionStorage));
#if PCL
            IFolder rootFolder = FileSystem.Current.LocalStorage;
            IFile file = rootFolder.CreateFileAsync(_sessionStorageFileFullPath, CreationCollisionOption.ReplaceExisting).Result;
            file.WriteAllTextAsync(JsonMapper.ToJson(_sessionStorage)).Wait();
#elif BCL
            string directory = Path.GetDirectoryName(_sessionStorageFileFullPath);
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }
            File.WriteAllText(_sessionStorageFileFullPath, JsonMapper.ToJson(_sessionStorage));
#elif UNITY
            Action action = () =>
            {
                // create a file to store session info
                if (!File.Exists(_sessionStorageFileFullPath))
                {
                    FileStream fs = File.Create(_sessionStorageFileFullPath);
                    fs.Close();

                    File.WriteAllText(_sessionStorageFileFullPath, JsonMapper.ToJson(_sessionStorage));
                }
                else
                {
                    File.WriteAllText(_sessionStorageFileFullPath, String.Empty);
                    File.WriteAllText(_sessionStorageFileFullPath, JsonMapper.ToJson(_sessionStorage));
                }
            };


            if (UnityInitializer.IsMainThread())
            {
                action();
            }
            else
            {
                ManualResetEvent e = new ManualResetEvent(false);
                UnityRequestQueue.Instance.ExecuteOnMainThread(() =>
                {
                    action();
                    e.Set();
                });
                e.WaitOne();
            }
#endif

        }