/// <summary> /// Standard constructor /// </summary> /// <param name="login">Login</param> /// <param name="password">Password</param> /// <param name="server">Server</param> /// <param name="policy">Policy</param> public LoginPasswordServer(string login, string password, string server, LoginPasswordServerPolicy policy) { Login = login ?? ""; Password = password ?? ""; Server = server ?? ""; Policy = policy; }
/// <summary> /// Parse /// </summary> public static LoginPasswordServer Parse(string value, LoginPasswordServerPolicy policy) { if (null == value) { throw new ArgumentNullException(nameof(value)); } if (TryParse(value, out var result, policy)) { return(result); } throw new FormatException($"Invalid format: string provided can't be parsed as {typeof(LoginPasswordServer).Name}"); }
/// <summary> /// Try Parse /// </summary> public static bool TryParse(string value, out LoginPasswordServer result, LoginPasswordServerPolicy policy) { result = null; if (string.IsNullOrWhiteSpace(value)) { return(false); } int p = value.LastIndexOf('@'); string server = ""; if (p >= 0) { server = value[(p + 1)..];
/// <summary> /// Try Parse /// </summary> public static bool TryParse(string value, out LoginPasswordServer result, LoginPasswordServerPolicy policy) { result = null; if (string.IsNullOrWhiteSpace(value)) { return(false); } int p = value.LastIndexOf('@'); string server = ""; if (p >= 0) { server = value.Substring(p + 1); value = value.Substring(0, p); } string login = value; string password = ""; p = value.IndexOfAny(new char[] { '\\', '/' }); if (p >= 0) { login = value.Substring(0, p); password = value.Substring(p + 1); } login = login.TrimStart(); if (string.IsNullOrEmpty(login)) { return(false); } result = new LoginPasswordServer(login, password, server, policy); return(true); }
private static StringComparison ComparisonFor(LoginPasswordServerPolicy left, LoginPasswordServerPolicy right) => ((left & right) == LoginPasswordServerPolicy.None) ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase;