Ejemplo n.º 1
0
        private async Task UploadAuditDB()
        {
            Stopwatch sw = new Stopwatch();

            Core.Globals.UploadAuditDBResult = UploadDBResultType.None;

            sw.Start();
            bool uploaded = await serviceManager.UploadAuditDBFile(Core.Globals.LoginUsername).ConfigureAwait(false);

            sw.Stop();

            int elapsed = sw.Elapsed.Milliseconds;

            if (uploaded)
            {
                // Successful
                Console.WriteLine("Upload call success");

                // Add Upload Log
                var UploadDate = Core.Globals.UploadDate;
                var LoginID    = Core.Globals.LoginUsername;
                var Status     = Core.Globals.UploadAuditDBResult == UploadDBResultType.Success ? "OK" : Core.Globals.ErrorTitle;
                var FilePath   = Core.Globals.UploadAuditDBResult == UploadDBResultType.Success ? Core.Globals.FilePath : "";
                var TotalTime  = sw.Elapsed.TotalSeconds.ToString("F3");
                var AppVersion = Core.Globals.AppVersion;
                var OSType     = Core.Globals.OSType;
                var OSVersion  = Core.Globals.OSVersion;
                var MacAddr    = Core.Globals.MACAddress;

                Task.Run(() => serviceManager.AddUploadLog(UploadDate, LoginID, Status, FilePath, TotalTime, AppVersion, OSType, OSVersion, MacAddr));
            }
            else
            {
                // There might be some error with the internet connection.
                // Unexpected error
                Console.WriteLine("Upload call failure");
            }

            if (elapsed < timeLimit * 1000)
            {
                uploadCheckCallObserver = new Timer(this.CheckUploadResult, null, timeLimit * 1000 - elapsed, System.Threading.Timeout.Infinite);
            }
            else
            {
                CheckUploadResult(null);
            }
        }