コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }