Beispiel #1
0
 public static void ObjLocal(String Localization)
 {
     if (null == Msgs)
     {
         Msgs = new MessagesHolder();
     }
     if (File.Exists(Path.Combine(AppDefaultPathData, CFolderLocal, Localization.ToLower() + ".json")))
     {
         Msgs.LoadFromFile(Path.Combine(AppDefaultPathData, CFolderLocal, Localization.ToLower() + ".json"));
         MIFile.Title           = Msgs.StrFile;
         MIFileExit.Title       = Msgs.StrFileExit;
         MIRefs.Title           = Msgs.StrReferences;
         MIRefsCities.Title     = Msgs.StrTowns;
         MIRefsRegions.Title    = Msgs.StrRegions;
         MIRefsCurrencies.Title = Msgs.StrCurrencies;
         MIRefsOrgTypes.Title   = Msgs.StrOrgTypes;
         MIRefsOrgs.Title       = Msgs.StrOrgs;
         MIView.Title           = Msgs.StrView;
         MIViewLanguages.Title  = Msgs.StrViewLanguage;
         if (null != WndCities)
         {
             WndCities.Title = Msgs.StrTowns;
         }
         if (null != WndRegions)
         {
             WndRegions.Title = Msgs.StrRegions;
         }
         if (null != WndCurrencies)
         {
             WndCurrencies.Title = Msgs.StrCurrencies;
         }
         if (null != WndOrgTypes)
         {
             WndOrgTypes.Title = Msgs.StrOrgTypes;
         }
     }
 }
Beispiel #2
0
        public static void Main(string[] args)
        {
            // I.0 Настройки приложения
            Settings = new AppSettings();
            // I.1 проверка каталога настроек
            String LSettingsPath = CheckFoldersSettings();

            // I.2. проверяем, существует ли файл настроек? (первый запуск приложения)
            if (!File.Exists(Path.Combine(LSettingsPath, CFileSettings)))
            {
                // если нет, сохраняем настройки по-умолчанию в файл
                Settings.SaveToFile(Path.Combine(LSettingsPath, CFileSettings));
            }
            // I.3 загружаем настройки
            Settings.LoadFromFile(Path.Combine(LSettingsPath, CFileSettings));

            // II.1. проверка рабочего каталога приложения
            AppDefaultPathData = CheckFoldersData();
            // II.2. скачать файл из интернета
            if (!File.Exists(Path.Combine(AppDefaultPathData, CLocalJSON)))
            {
                DownloadFileText(CRemoteJSON, Path.Combine(AppDefaultPathData, CLocalJSON));
            }
            // II.3. загрузить данные из файла
            String LJSON         = File.ReadAllText(Path.Combine(AppDefaultPathData, CLocalJSON));
            var    LCourceObject = JsonConvert.DeserializeObject <dynamic>(LJSON);

            // II.3.1. загрузка локализации
            Msgs = new MessagesHolder();
            // II.3.1.1 первый запуск приложения
            if (!File.Exists(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json")))
            {
                Msgs.SaveToFile(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json"));
            }
            Msgs.LoadFromFile(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json"));
            // II.3.2. организовать выбор локализации
            String[] LLocalFiles = Directory.GetFiles(Path.Combine(AppDefaultPathData, CFolderLocal));
            foreach (String LLocalFile  in LLocalFiles)
            {
                String LLocalName = Path.GetFileNameWithoutExtension(LLocalFile);
                if (LLocalName.ToUpper().Equals(Settings.Localization))
                {
                    Msgs.LoadFromFile(LLocalFile);
                }
            }
            // III.1. создаём справочники
            Cities     = new Reference(LCourceObject.cities);
            Regions    = new Reference(LCourceObject.regions);
            Currencies = new Reference(LCourceObject.currencies);
            OrgTypes   = new Reference(LCourceObject.orgTypes);
            Orgs       = new Organitations(LCourceObject.organizations, OrgTypes, Regions, Cities, Currencies);

            ObjInit();
            ObjLocal(Settings.Localization);

            Application.Init();
            Application.Top.Add(MainMenu);
            Application.Run();

            // ZZZ.1. при выходе из приложения сохраняем настройки
            // потому, что возможно они были изменены пользователем в процессе  работы приложения
            Settings.SaveToFile(Path.Combine(LSettingsPath, CFileSettings));
        }