private void Start()
        {
            Data[] datas = new Data[dataItems.Length];
            for (int i = 0; i < dataItems.Length; i++)
            {
                Type procedureType = Utility.Assembly.GetType(dataItems[i].dataTypeName);
                if (procedureType == null)
                {
                    Log.Error("Can not find data type '{0}'.", dataItems[i].dataTypeName);
                    return;
                }

                datas[i] = (Data)Activator.CreateInstance(procedureType);
                if (datas[i] == null)
                {
                    Log.Error("Can not create data instance '{0}'.", dataItems[i].dataTypeName);
                    return;
                }
            }

            for (int i = 0; i < datas.Length; i++)
            {
                m_DataManager.AddData(datas[i]);
            }

            m_DataManager.InitAllData();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Обработка клика мыши по кнопке "Зарегистрироваться".
        /// </summary>
        private void btnReistrationClick(object sender, RoutedEventArgs e)
        {
            MyMessageBox.Text = "";
            GetTextFromTextBox(out login, out password);

            if (!CheckData(login, password))
            {
                return;
            }

            ulong   loginHash = Hashing.GetHash(login);
            Account accountValue;

            if (dataManager.SearchUser(loginHash, out accountValue))
            {
                DisplayError(ErrorType.LoginExsist);
            }
            else
            {
                MyMessageBox.Text = "";
                try
                {
                    dataManager.AddData(login, password);
                }
                catch (OverflowException)
                {
                    DisplayMessage("Случилось переполнение хеш-таблицы.\n" +
                                   "Программа сохранила данные в файл и записала нового пользователя.", "Внимание", MessageBoxImage.Information);
                }
            }
        }