private async Task <bool> RunOfflineJobs(R1MachineSpecsBase obj) { obj.ExePath = SafeGet(() => GetExePath()); obj.MacAndPrivateIPs = SafeGet(() => GetMacAndPrivateIPs()); obj.ExeVersion = SafeGet(() => GetExeVersion()); obj.WindowsAccount = SafeGet(() => Environment.UserName); obj.ComputerName = SafeGet(() => Environment.MachineName); obj.Workgroup = SafeGet(() => GetWorkgroup()); obj.LegacyCfgJson = SafeGet(() => ReadLegacyCfg?.Invoke()); obj.Repo1CfgJson = SafeGet(() => Repo1Cfg.Read(_cfgKey)); obj.IsAdminUser = CurrentWindowsUser.IsAdmin(); await Task.Delay(1); return(true); }
internal async Task AddProfileTo(R1MachineSpecsBase targetObj) { var publicIpJob = GetPublicIP(); var offlineJobs = RunOfflineJobs(targetObj); try { await Task.WhenAll(publicIpJob, offlineJobs); } catch (Exception ex) { targetObj.MacAndPrivateIPs = ex.Info(true, true); return; } targetObj.PublicIP = await publicIpJob; }