Example #1
0
        public static Window miRefNewOrgs(String ATtile, Organitations AOrg)
        {
            Window LResult = null;

            for (int i = 0; i < Application.Top.Subviews.Count; i++)
            {
                if (Application.Top.Subviews[i].Id == ATtile)
                {
                    LResult = (Window)Application.Top.Subviews[i];
                    Application.Top.RemoveAll();
                    Application.Top.Add(LResult);
                    Application.Top.Add(MainMenu);
                    LResult.FocusFirst();
                    break;
                }
            }
            if (null == LResult)
            {
                LResult = new Window(ATtile)
                {
                    Id     = ATtile,
                    X      = 0,
                    Y      = 1, // для меню оставим одну строчку
                    Width  = Dim.Fill(),
                    Height = Dim.Fill()
                };
                ListViewOrgs = new ListView(
                    new Rect()
                {
                    X      = 0,
                    Y      = 0,
                    Height = 20,
                    Width  = 158
                },
                    AOrg);
                //ListViewOrgs.Enter += ListViewOrgsOnEnter;
                ListViewOrgs.SelectedChanged += () => { ListViewOrgsOnSelectedChanged(); };
                LResult.Add(ListViewOrgs);
                ListViewOrgsCource = new ListView()
                {
                    X      = 0,
                    Y      = 21,
                    Height = 36,
                    Width  = 158
                };
                ListViewOrgsCource.ColorScheme        = new ColorScheme();
                ListViewOrgsCource.ColorScheme.Normal = Application.Driver.MakeAttribute(Color.Red, Settings.Background);
                LResult.Add(ListViewOrgsCource);
            }
            LResult.ColorScheme.Normal = Application.Driver.MakeAttribute(Settings.Foreground, Settings.Background);
            Application.Top.Add(LResult);
            Application.Run();
            return(LResult);
        }
Example #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));
        }