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); } }