Пример #1
0
        /// <summary>
        /// Сохранение настроек в файл
        /// </summary>
        private void JsonSettingsSave()
        {
            try
            {
                //string settings = "settings.json";
                string encrypt = String.Empty;

                if (File.Exists(SettingsPath))
                {
                    File.Delete(SettingsPath);
                }

                if (Properties.Resources.Default_Crypt_Settings == "1")
                {
                    Classes.Crypt Crypt = new Classes.Crypt();
                    encrypt = Crypt.Encrypt(jSettings.ToString(), Variables.GetUserID());
                }
                else
                {
                    encrypt = jSettings.ToString();
                }

                File.WriteAllText(SettingsPath, encrypt);
            }
            catch (Exception ex) { Task.Factory.StartNew(() => Debugging.Save("MainWindow", "JsonSaveSettings()", ex.Message, ex.StackTrace, jSettings.ToString())); }
        }
Пример #2
0
        /// <summary>
        /// Сохранение неотправленных тикетов
        /// </summary>
        /// <param name="json"></param>
        private void SaveTicket(JObject json)
        {
            try
            {
                if (!Directory.Exists(MainWindow.SettingsDir + "tickets"))
                {
                    Directory.CreateDirectory(MainWindow.SettingsDir + "tickets");
                }

                string filename = String.Format("{0}_{1}.ticket", (string)MainWindow.JsonSettingsGet("info.user_id"), DateTime.Now.ToString("yyyy-MM-dd h-m-s.ffffff"));

                if (Properties.Resources.API_DEV_CRYPT == "1")
                {
                    string encoded = new Classes.Crypt().Encrypt(json.ToString(), (string)MainWindow.JsonSettingsGet("info.user_id"), true);
                    if (encoded != "FAIL")
                    {
                        File.WriteAllText(MainWindow.SettingsDir + @"tickets\" + filename, encoded, Encoding.UTF8);
                    }
                }
                else
                {
                    File.WriteAllText(MainWindow.SettingsDir + @"tickets\" + filename, json.ToString(), Encoding.UTF8);
                }

                // Очищаем поля
                tbMessage.Text = String.Empty;
                if (tbEmail.IsEnabled)
                {
                    tbEmail.Text = String.Empty;
                }

                // Выдаем сообщение о сохранении тикета
                MainWindow.Notifier.ShowBalloonTip(5000,
                                                   Lang.Set("PostClass", "AutoTicketWait", lang),
                                                   Lang.Set("PageFeedback", "TicketSaved", lang),
                                                   System.Windows.Forms.ToolTipIcon.Info);
            }
            catch (Exception ex) { Task.Factory.StartNew(() => Debugging.Save("PageFeedback", "SaveTicket()", ex.Message, ex.StackTrace)); }
        }
Пример #3
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            try
            {
                string file         = @"settings.json";
                string settings_enc = @"settings_enc.json";

                if (File.Exists(file))
                {
                    using (StreamReader reader = File.OpenText(file))
                    {
                        Classes.Crypt Crypt = new Classes.Crypt();

                        if (File.Exists(settings_enc))
                        {
                            File.Delete(settings_enc);
                        }
                        File.WriteAllText(settings_enc, Crypt.Encrypt(Crypt.Decrypt(reader.ReadToEnd(), Variables.GetUserID()), Variables.GetUserID()));
                    }
                }
            }
            catch (Exception ex) { Task.Factory.StartNew(() => Debugging.Save("MainWindow", "JsonSaveSettings()", ex.Message, ex.StackTrace, jSettings.ToString())); }
        }
Пример #4
0
        /// <summary>
        /// Загружаем настройки из файла JSON
        /// </summary>
        private void JsonSettingsLoad(bool second = false)
        {
            try
            {
                string decrypt = "";

                // При необходимости создаем папку настроек
                if (!Directory.Exists(SettingsDir))
                {
                    Directory.CreateDirectory(SettingsDir);
                }


                if (File.Exists(SettingsPath))
                {
                    using (StreamReader reader = File.OpenText(SettingsPath))
                    {
                        decrypt = reader.ReadToEnd();

                        if (Properties.Resources.Default_Crypt_Settings == "1")
                        {
                            try
                            {
                                Classes.Crypt Crypt = new Classes.Crypt();
                                decrypt = Crypt.Decrypt(decrypt, Variables.GetUserID());
                            }
                            catch (Exception)
                            {
                                if (File.Exists(SettingsPath))
                                {
                                    File.Delete(SettingsPath);
                                }
                                Thread.Sleep(300);
                                File.WriteAllBytes(SettingsPath, Properties.Resources.Settings_Encoded);

                                Classes.Crypt Crypt = new Classes.Crypt();
                                decrypt = Crypt.Decrypt(decrypt, Variables.GetUserID());
                            }
                        }

                        jSettings = JObject.Parse(decrypt);

                        if (jSettings == null)
                        {
                            // Пересоздаем файл и загружаем заново настройки
                            SaveSettingsFile();
                        }
                        else
                        {
                            // Проверяем настройки
                            CheckSettings();
                        }
                    }
                }
                else
                {
                    // "Файл настроек не обнаружен"
                    if (!second)
                    {
                        // Пересоздаем файл и загружаем заново настройки
                        SaveSettingsFile();
                    }
                    else
                    {
                        // Если ошибка возникла и после второго запуска - выводим уведомление юзеру.
                        MessageShow(Lang.Set("MainWindow", "Settings_Not_Found", (string)JsonSettingsGet("info.language")));
                        jSettings = null;
                    }
                }
            }
            catch (Exception ex) { Debugging.Save("MainWindow", "JsonLoadSettings()", ex.Message, ex.StackTrace); }
        }