public override void FromModel(IServerSource source) { ResourceName = source.Name; AuthenticationType = source.AuthenticationType; UserName = source.UserName; if (ComputerNames != null) { ServerName = ComputerNames.FirstOrDefault(name => string.Equals(source.ServerName, name.Name, StringComparison.CurrentCultureIgnoreCase)); } if (ServerName != null) { EmptyServerName = ServerName.Name ?? source.ServerName; } Protocol = source.Address.Contains("https") ? Protocols[0] : Protocols[1]; var portIndex = GetSpecifiedIndexOf(source.Address, ':', 2); var ports = source.Address.Substring(portIndex + 1).Split('/'); if (ports.Any()) { SelectedPort = ports[0]; } Address = source.Address; Password = source.Password; Header = ResourceName; }
private void Exec() { NetUtil = new Process(); NetUtil.StartInfo.FileName = "net.exe"; NetUtil.StartInfo.CreateNoWindow = true; NetUtil.StartInfo.Arguments = "view"; NetUtil.StartInfo.RedirectStandardOutput = true; NetUtil.StartInfo.UseShellExecute = false; NetUtil.StartInfo.RedirectStandardError = true; NetUtil.Start(); using (var reader = new StreamReader(NetUtil.StandardOutput.BaseStream, NetUtil.StandardOutput.CurrentEncoding)) { string line = ""; while ((line = reader.ReadLine()) != null) { if (line.StartsWith("\\", StringComparison.OrdinalIgnoreCase)) { var name = line.Substring(2); var idx = name.IndexOf(' '); name = name.Substring(0, idx); ComputerNames.Add(name); } } } NetUtil.WaitForExit(); ProcessCompleted?.Invoke(this, EventArgs.Empty); }
public override void FromModel(IDbSource service) { ResourceName = service.Name; ServerName = ComputerNames.FirstOrDefault(name => string.Equals(service.ServerName, name.Name, StringComparison.CurrentCultureIgnoreCase)); if (ServerName != null) { EmptyServerName = ServerName.Name ?? service.ServerName; } AuthenticationType = service.AuthenticationType; Path = service.Path; TestConnection(); DatabaseName = service.DbName; }