Exemplo n.º 1
0
        /// <summary>
        /// (Расширение) Метод записывает данные по новому серверу в файл адреса сервера
        /// </summary>
        /// <param name="newServer"></param>
        public async static Task <bool> WriteNewServer(this string newServer)
        {
            hubConnection = CreateTempConnectionString(newServer);

            if (hubConnection != null)
            {
                // Проверка соединения с новым сервером
                if (await hubConnection.CheckNewServer())
                {
                    try
                    {
                        // Десериализация json файла подключения
                        var tempReadedFile = JsonConvert.DeserializeObject <ConnectionPathInfo>(File.ReadAllText(@"Resources/serverInfo.json"));

                        // Временная переменная объекта подключения
                        tempReadedFile.Server = newServer;

                        // Запись временного объекта в файл Json
                        File.WriteAllText(@"Resources/serverInfo.json", JsonConvert.SerializeObject(tempReadedFile));

                        // Десериализация актуального файла подключения в основной объект подключения
                        ConnectionClass.connectionPath = JsonConvert.DeserializeObject <ConnectionPathInfo>(File.ReadAllText(@"Resources/serverInfo.json"));

                        await hubConnection.DisposeAsync();

                        return(true);
                    }
                    catch
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }