bool TryParseParameters(IntPtr hParentWnd, string parameters, string commonRoot, out string serviceUri, out string user, out string password) { serviceUri = user = password = null; if (String.IsNullOrEmpty(parameters) && !String.IsNullOrEmpty(commonRoot)) { //Read from svn... SvnProperties props = new SvnProperties(commonRoot); string testUri = props.Search(".", true, Connector.UriPropertyName); if (!String.IsNullOrEmpty(testUri)) { parameters = testUri; } } if (String.IsNullOrEmpty(parameters)) { string test = System.Configuration.ConfigurationManager.AppSettings[Connector.UriPropertyName]; if (!String.IsNullOrEmpty(test)) { parameters = test; } } Uri uri; if (Uri.TryCreate(parameters, UriKind.Absolute, out uri)) { serviceUri = String.Format("{0}://{1}:{2}{3}", uri.Scheme, uri.Host, uri.Port, uri.PathAndQuery); if (!String.IsNullOrEmpty(uri.UserInfo)) { string[] parts = uri.UserInfo.Split(':'); if (parts.Length == 2 && !String.IsNullOrEmpty(parts[0]) && !String.IsNullOrEmpty(parts[1])) { user = parts[0]; password = parts[1]; } else { user = uri.UserInfo; password = ReadSettings(hParentWnd, serviceUri, ref user); } } else { password = ReadSettings(hParentWnd, serviceUri, ref user); } if (!String.IsNullOrEmpty(user) && !String.IsNullOrEmpty(password)) { return(true); } } return(false); }
bool TryParseParameters(IntPtr hParentWnd, string parameters, string commonRoot, out string serviceUri, out string user, out string password) { serviceUri = user = password = null; if (String.IsNullOrEmpty(parameters) && !String.IsNullOrEmpty(commonRoot)) { //Read from svn... SvnProperties props = new SvnProperties(commonRoot); string testUri = props.Search(".", true, Connector.UriPropertyName); if (!String.IsNullOrEmpty(testUri)) parameters = testUri; } if (String.IsNullOrEmpty(parameters)) { string test = System.Configuration.ConfigurationManager.AppSettings[Connector.UriPropertyName]; if (!String.IsNullOrEmpty(test)) parameters = test; } Uri uri; if (Uri.TryCreate(parameters, UriKind.Absolute, out uri)) { serviceUri = String.Format("{0}://{1}:{2}{3}", uri.Scheme, uri.Host, uri.Port, uri.PathAndQuery); if (!String.IsNullOrEmpty(uri.UserInfo)) { string[] parts = uri.UserInfo.Split(':'); if (parts.Length == 2 && !String.IsNullOrEmpty(parts[0]) && !String.IsNullOrEmpty(parts[1])) { user = parts[0]; password = parts[1]; } else { user = uri.UserInfo; password = ReadSettings(hParentWnd, serviceUri, ref user); } } else password = ReadSettings(hParentWnd, serviceUri, ref user); if (!String.IsNullOrEmpty(user) && !String.IsNullOrEmpty(password)) return true; } return false; }