public void Init(IDbCommonConnectionPlugin data = null) { m_connectionData = data; if (m_connectionData != null) { txtProfile.SelectedItem = m_connectionData; } }
public void Init(IDbCommonConnectionPlugin connectionData, ConnectionLoginData loginData) { m_connectionData = connectionData; m_loginData = loginData; if (m_loginData != null) { txtConnectionName.Text = m_loginData.ConnectionName; } }
public bool IsNew(IDbCommonConnectionPlugin connectionData, ConnectionLoginData data) { List<ConnectionLoginData> list = GetList(connectionData); foreach (ConnectionLoginData listItem in list) { if (data.Equals(listItem)) return false; } return true; }
public void Add(IDbCommonConnectionPlugin connectionData, ConnectionLoginData data) { List<ConnectionLoginData> list = GetList(connectionData); list.Add(data); string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), ApplicationFolder, LoginDataFolder, connectionData.ConnectionName, data.ConnectionName); Directory.CreateDirectory(Path.GetDirectoryName(path)); byte[] key = UnicodeEncoding.ASCII.GetBytes(System.Security.Principal.WindowsIdentity.GetCurrent().User.Value); byte[] subkey = GetCompressedKey(key, 32); Aes aes = AesCryptoServiceProvider.Create(); aes.Key = subkey; aes.IV = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; byte[] byteData = Utils.SerializeObjectXML<ConnectionLoginData>(data); byte[] resultArray = aes.CreateEncryptor().TransformFinalBlock(byteData, 0, byteData.Length); File.WriteAllBytes(path, resultArray); }
public void ShowNewConnectionForm(IDbCommonConnectionPlugin data = null) { using (ConnectForm form = new ConnectForm(data)) { if (form.ShowDialog() == DialogResult.OK) { if (NewConnectionOpened != null) NewConnectionOpened(this, new UIArgs(form.NewInquiry)); } } }
public ConnectForm(IDbCommonConnectionPlugin data = null) { InitializeComponent(); }
private List<ConnectionLoginData> GetList(IDbCommonConnectionPlugin connectionData) { List<ConnectionLoginData> list = null; if (!m_data.TryGetValue(connectionData.ConnectionName, out list)) { list = new List<ConnectionLoginData>(); m_data.Add(connectionData.ConnectionName, list); // загрузка списка string directoryPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), ApplicationFolder, LoginDataFolder, connectionData.ConnectionName); if (Directory.Exists(directoryPath)) { foreach (string filePath in Directory.GetFiles(directoryPath)) { try { byte[] byteArray = File.ReadAllBytes(filePath); byte[] key = UnicodeEncoding.ASCII.GetBytes(System.Security.Principal.WindowsIdentity.GetCurrent().User.Value); byte[] subkey = GetCompressedKey(key, 32); Aes aes = AesCryptoServiceProvider.Create(); aes.Key = subkey; aes.IV = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; byte[] decrypted = aes.CreateDecryptor().TransformFinalBlock(byteArray, 0, byteArray.Length); ConnectionLoginData data = Utils.DeserializeObjectXML<ConnectionLoginData>(decrypted, connectionData.LoginDataType); list.Add(data); } catch (Exception) { } } } } return list; }
public void Remove(IDbCommonConnectionPlugin connectionData, ConnectionLoginData data) { List<ConnectionLoginData> list = GetList(connectionData); list.Remove(data); }
public ConnectionLoginData[] GetData(IDbCommonConnectionPlugin connectionData) { return GetList(connectionData).ToArray(); }