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;
        }
Пример #2
0
        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;
 }