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(); }
/// <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); } } }