/// <summary> Загрузка списка площадок </summary> public void LoadListModelServerArea() { List <ModelServerArea> listModelServerArea; var enumResultLogin = DataSourceLogin.GetListModelServerArea(out listModelServerArea); if (enumResultLogin == EnumResultLogin.No) { ListModelServerArea = listModelServerArea; OnPropertyChanged("ListModelServerArea"); var modelServerArea = listModelServerArea.FirstOrDefault(obj => obj.Id == CurrentModelLogin.ServerAreaCode); if (modelServerArea != null) { CurrentModelLogin.ModelServerAreaObj = modelServerArea; } else { var modelServerAreaDefault = listModelServerArea.FirstOrDefault(obj => obj.Id == 0); CurrentModelLogin.ModelServerAreaObj = modelServerAreaDefault ?? ModelServerArea.GetDefaultModelServerArea(); } } }
/// <summary> Конструктор </summary> public ViewModelUserAuthorization() { CurrentModelLogin = DataSourceLogin.GetLastModelLogin(); if (CurrentModelLogin.ServerAreaCode > 0) { LoadListModelServerArea(); } CurrentModelLogin.PropertyChanged += (sender, args) => { if (args.PropertyName.Equals("ModelLanguageObj", StringComparison.InvariantCultureIgnoreCase)) { DataSourceLogin.SaveModelLanguage(CurrentModelLogin.ModelLanguageObj); } }; _backgroundWorker.DoWork += BackgroundWorkerOnDoWork; _backgroundWorker.RunWorkerCompleted += BackgroundWorkerOnRunWorkerCompleted; CommandLogin = new Command(obj => Login()); CommandForgotPassword = new Command(obj => ForgotPassword()); CommandSignUp = new Command(obj => SignUp()); CallbackRouter.Instance.ModelConnectStateChanged += OnModelConnectStateChanged; }
/// <summary> Сохранить ключ шифрования в локальном хранилище </summary> public bool LocalSavePublicKey() { var modelLogin = DataSourceLogin.GetLastModelLogin(); var login = modelLogin.Login; var serverArea = modelLogin.ServerAreaCode; var secretKey = DataSourceSecurity.GetUserSecretKey(); var saveResult = UtilitySecurity.SavePrivateCryptKeyToIsolatedStorage(secretKey, login, serverArea.ToString()); return(saveResult); }
/// <summary> Обработчик генерации секретного ключа внутри логики C++ </summary> private void LogicSecretKeyGeneratedHandler() { var modelLogin = DataSourceLogin.GetLastModelLogin(); var login = modelLogin.Login; var serverArea = modelLogin.ServerAreaCode; var secretKey = DataSourceSecurity.GetUserSecretKey(); OnSecretKeyGenerated(login, serverArea, secretKey); }
/// <summary> Выйти из приложения </summary> public void ApplicationExit() { DataSourceLogin.Logout(); App.Mutex.ReleaseMutex(); App.Mutex.Dispose(); NotifyIcon.Visible = false; Environment.Exit(0); }
///<summary> Метод выполнения потока BackgroundWorker </summary> private void BackgroundWorkerOnDoWork(object sender, DoWorkEventArgs e) { e.Result = DataSourceLogin.Login(CurrentModelLogin); }