예제 #1
0
        private async Task InitCredentials()
        {
            var clientConfigPath = Path.Combine(Path.GetDirectoryName(typeof(FileStorageManager).Assembly.Location), "client.txt");

            if (!File.Exists(clientConfigPath))
            {
                throw new FileNotFoundException("File client.txt not found");
            }

            var configLines = File.ReadAllLines(clientConfigPath).Where(line => !String.IsNullOrWhiteSpace(line)).ToList();

            var client = configLines.FirstOrDefault();

            _url      = "https://adsalescloud.com";
            _login    = "******";
            _password = "******";

            var credentialsFile = new ConfigFile(new[] { client, "credentials.txt" });
            await credentialsFile.Download();

            if (!credentialsFile.ExistsLocal())
            {
                return;
            }
            foreach (var configLine in File.ReadAllLines(credentialsFile.LocalPath))
            {
                if (configLine.Contains("Site:"))
                {
                    _url = configLine.Replace("Site:", "").Trim();
                }
                else if (configLine.Contains("Login:"******"Login:"******"").Trim();
                }
                else if (configLine.Contains("Password:"******"Password:"******"").Trim();
                }
                else if (configLine.Contains("DataFolderName:"))
                {
                    _dataFolderName = configLine.Replace("DataFolderName:", "").Trim();
                }
                else if (configLine.Contains("AuthService:"))
                {
                    _authServer = configLine.Replace("AuthService:", "").Trim();
                }
            }

            Activated = true;

            SubStorages.AddRange(configLines.Skip(1));

            if (!Directory.Exists(LocalStoragePath))
            {
                Directory.CreateDirectory(LocalStoragePath);
            }
        }