Пример #1
0
        private async Task <bool> DownloadAndSwap(R1Executable latest)
        {
            var macAddr   = _validr.PingNode.RegisteredMacAddress;
            var partsList = await _downloadr.GetPartsList(latest.FileVersion, macAddr);

            if (partsList.Count == 0)
            {
                return(false);
            }

            var exePath = await _downloadr.DownloadAndExtract(partsList, latest.FileHash);

            if (exePath.IsBlank())
            {
                return(false);
            }

            var ok = ReplaceCurrentExeWith(exePath);

            if (ok)
            {
                _downloadr.DeleteLastTempDir();
            }
            return(ok);
        }