public FederationViewModel(FederationInfo federationInfo) : base(null, true) { m_federationInfo = federationInfo; if (m_federationInfo.UsesServerClient || (SessionBase.IsSameHost(m_federationInfo.HostName, SessionBase.LocalHost) == false)) m_session = new ServerClientSession(m_federationInfo.SystemDbsPath, m_federationInfo.HostName, m_federationInfo.WaitForMilliSeconds, m_federationInfo.UsePessimisticLocking == false); else m_session = new SessionNoServer(m_federationInfo.SystemDbsPath, m_federationInfo.WaitForMilliSeconds, m_federationInfo.UsePessimisticLocking == false); m_session.BeginRead(); }
public FederationViewModel(FederationInfo federationInfo) : base(null, true) { m_federationInfo = federationInfo; if (m_federationInfo.UsesServerClient || (m_federationInfo.HostName.Length > 0 && m_federationInfo.HostName!= Dns.GetHostName())) m_session = new ServerClientSession(m_federationInfo.SystemDbsPath, m_federationInfo.HostName); else m_session = new SessionNoServer(m_federationInfo.SystemDbsPath); m_session.BeginRead(); }
void Initialize() { SessionBase.BaseDatabasePath = Properties.Settings.Default.BaseDatabasePath; m_session = new SessionNoServer(Properties.Settings.Default.DatabaseManagerDirectory); try { m_session.BeginUpdate(); List<FederationViewModel> federationInfos = new List<FederationViewModel>(); List<FederationInfo> federationInfosToRemove = new List<FederationInfo>(); foreach (FederationInfo info in m_session.AllObjects<FederationInfo>()) { try { federationInfos.Add(new FederationViewModel(info)); } catch (Exception ex) { if (MessageBox.Show(ex.Message + " for " + info.HostName + " " + info.SystemDbsPath + " Remove this Database?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) federationInfosToRemove.Add(info); } } foreach (FederationInfo info in federationInfosToRemove) info.Unpersist(m_session); if (federationInfos.Count() == 0) { string host = Properties.Settings.Default.DatabaseManagerHost; if (host == null || host.Length == 0) host = Dns.GetHostName(); FederationInfo info = new FederationInfo(host, Properties.Settings.Default.DatabaseManagerDirectory, Properties.Settings.Default.TcpIpPortNumber, Properties.Settings.Default.DoWindowsAuthentication, null, Properties.Settings.Default.WaitForLockMilliseconds, Properties.Settings.Default.UseClientServer, "Database Manager"); m_session.Persist(info); m_session.Commit(); federationInfos.Add(new FederationViewModel(info)); } if (m_session.InTransaction) m_session.Commit(); m_federationViews = federationInfos; } catch (Exception ex) { if (m_session.InTransaction) m_session.Abort(); if (MessageBox.Show(ex.Message + " for " + SessionBase.LocalHost + " " + Properties.Settings.Default.DatabaseManagerDirectory + " Remove this Database?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { DirectoryInfo dir = new DirectoryInfo(Properties.Settings.Default.DatabaseManagerDirectory); dir.Delete(true); Initialize(); } } }
private void AddMenuItem_Click(object sender, RoutedEventArgs e) { FederationInfo info = new FederationInfo(); ConnectionDialog popup = new ConnectionDialog(info); bool? result = popup.ShowDialog(); if (result != null && result.Value) { SessionBase session = m_viewModel.ActiveSession; session.BeginUpdate(); session.Persist(info); session.Commit(); m_viewModel = new AllFederationsViewModel(); base.DataContext = m_viewModel; } }
bool AddFederation(DirectoryInfo dirInfo) { FederationInfo info = new FederationInfo(); if (dirInfo != null) info.SystemDbsPath = dirInfo.FullName; ConnectionDialog popup = new ConnectionDialog(info); bool? result = popup.ShowDialog(); if (result != null && result.Value) { if (info.HostName == null || info.HostName.Length == 0) info.HostName = SessionBase.LocalHost; SessionBase session = m_viewModel.ActiveSession; if (session.InTransaction) session.Commit(); session.BeginUpdate(); session.Persist(info); session.Commit(); m_viewModel = new AllFederationsViewModel(); base.DataContext = m_viewModel; return true; } return false; }
public AllFederationsViewModel() { SessionBase.BaseDatabasePath = Properties.Settings.Default.BaseDatabasePath; m_session = new SessionNoServer(Properties.Settings.Default.DatabaseManagerDirectory); m_session.BeginUpdate(); List<FederationViewModel> federationInfos = new List<FederationViewModel>(); foreach (FederationInfo info in m_session.AllObjects<FederationInfo>()) { try { federationInfos.Add(new FederationViewModel(info)); } catch (Exception ex) { MessageBox.Show(ex.Message); } } if (federationInfos.Count() == 0) { string host = Properties.Settings.Default.DatabaseManagerHost; if (host == null || host.Length == 0) host = Dns.GetHostName(); FederationInfo info = new FederationInfo(host, Properties.Settings.Default.DatabaseManagerDirectory, Properties.Settings.Default.TcpIpPortNumber, Properties.Settings.Default.DoWindowsAuthentication, null, Properties.Settings.Default.UseClientServer, "Database Manager"); m_session.Persist(info); m_session.Commit(); federationInfos.Add(new FederationViewModel(info)); } if (m_session.InTransaction) m_session.Commit(); m_federationViews = new ReadOnlyCollection<FederationViewModel>(federationInfos); }
public ConnectionDialog(FederationInfo federationInfo) { InitializeComponent(); m_federationInfo = federationInfo; RadioNoServ.IsChecked = true; WaitForMilliSecondsTextBox.Text = "5000"; DBDirTextBox.Text = federationInfo.SystemDbsPath; }
public ConnectionDialog(FederationInfo federationInfo) { InitializeComponent(); m_federationInfo = federationInfo; RadioNoServ.IsChecked = true; }