private void Handle(string[] args) { var parameters = ParameterUtility.GetParameters(args); var filePathParameter = parameters.FirstOrDefault(x => x.GetType() == typeof(FilePathParameter)); if (filePathParameter == null || string.IsNullOrEmpty(filePathParameter.Value) || !File.Exists(filePathParameter.Value)) { Console.WriteLine("Error: the file path parameter not found."); return; } var outputPath = parameters.First(x => x is OutputPathParameter).Value; var threadCount = int.Parse(parameters.First(x => x is ThreadParameter).Value); var speedConfiguration = GetSpeedCofiguration(parameters.First(x => x is SpeedParameter).Value); timer.Start(); var downloadService = new DownloadService( FileLinkUtility.GetFileLinks(filePathParameter.Value), outputPath, threadCount, speedConfiguration.Speed); downloadService.Download(); timer.Stop(); Console.WriteLine("Elapsed time - {0}ms", timer.ElapsedMilliseconds); }
public void ParameterUtility_Encode_1() { Parameter[] parameters = _GetParameters(); string expected = "ordinary=easy;noValue=;" + @"with space=should work;es\=caped=is\; OK;"; string actual = ParameterUtility.Encode(parameters); Assert.AreEqual(expected, actual); }
protected void Page_Load(object sender, EventArgs e) { var type = Request["Type"]; if (!string.IsNullOrEmpty(type)) { using (var facade = new Facade()) { _CurrentPlugin = facade.LoadPlugin(type); if (_CurrentPlugin == null) { Response.Redirect("Default.aspx"); } _ParameterProperties = ParameterUtility.GetParameters(_CurrentPlugin); _ParameterProperties.ForEach(p => _ParametersList += p.ToString() + "|"); _ParametersList = _ParametersList.TrimEnd("|".ToCharArray()); } } else { Response.Redirect("Default.aspx"); } if (IsPostBack) { var cookie = Request.Cookies["mystream_subscription_add_cookie"]; if (cookie != null) { var parameters = cookie.Value.Split("|".ToCharArray()); var dictionary = new Dictionary <string, string>(); foreach (var parameter in parameters) { var paramName = parameter.Split("=".ToCharArray())[0]; var paramValue = parameter.Split("=".ToCharArray())[1]; dictionary.Add(paramName, paramValue); } using (var facade = new Facade()) { pnlSuccess.Visible = !(pnlInvalidInfo.Visible = !facade.Subscribe(_CurrentPlugin, dictionary)); } } else { // Err occured } } else { CreateControls(); } }
public string Encode() { List <Parameter> parameters = new List <Parameter>(); _Add(parameters, "host", Host); _Add ( parameters, "port", Port == 0 ? null : Port.ToInvariantString() ); _Add(parameters, "database", Database); _Add(parameters, "username", Username); _Add(parameters, "password", Password); _Add ( parameters, "workstation", Workstation == 0 ? null : new string((char)(byte)Workstation, 1) ); _Add(parameters, "socket", SocketTypeName); _Add(parameters, "engine", EngineTypeName); _Add(parameters, "factory", FactoryTypeName); _Add(parameters, "log", NetworkLogging); _Add ( parameters, "retry", RetryLimit == 0 ? null : RetryLimit.ToInvariantString() ); _Add(parameters, "data", UserData); string result = ParameterUtility.Encode ( parameters.ToArray() ); return(result); }
/// <summary> /// Парсинг строки подключения. /// </summary> public ConnectionSettings ParseConnectionString ( [NotNull] string connectionString ) { Sure.NotNull(connectionString, nameof(connectionString)); Parameter[] parameters = ParameterUtility.ParseString ( connectionString ); foreach (Parameter parameter in parameters) { string name = parameter.Name .ThrowIfNull("parameter.Name") .ToLower(); string value = parameter.Value .ThrowIfNull("parameter.Value"); switch (name) { case "provider": case "assembly": case "assemblies": case "register": case "type": // Nothing to do break; case "host": case "server": case "address": Host = value; break; case "port": Port = int.Parse(value); break; case "user": case "username": case "name": case "login": Username = value; break; case "pwd": case "password": Password = value; break; case "db": case "catalog": case "database": Database = value; break; case "arm": case "workstation": Workstation = (IrbisWorkstation)(byte)value[0]; break; case "socket": SocketTypeName = value; break; case "engine": EngineTypeName = value; break; case "factory": FactoryTypeName = value; break; case "log": NetworkLogging = value; break; case "retry": RetryLimit = int.Parse(value); break; case "web": case "webcgi": case "cgi": case "http": WebCgi = value; break; case "broken": Broken = value; break; case "slow": Slow = value; break; case "smart": Smart = value; break; case "userdata": case "data": UserData = value; break; default: Log.Error ( "ConnectionSettings::ParseConnectionString: " + "unknown parameter: " + name ); string message = string.Format ( "Unknown parameter: {0}", name ); throw new ArgumentException(message); } } return(this); }
public void ParameterUtility_ParseString_1() { string text = ""; Parameter[] parameters = ParameterUtility.ParseString(text); Assert.AreEqual(0, parameters.Length); text = ";;;"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(0, parameters.Length); text = " "; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(0, parameters.Length); text = " ; ; "; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(0, parameters.Length); text = "ordinary=easy"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(1, parameters.Length); Assert.AreEqual("ordinary", parameters[0].Name); Assert.AreEqual("easy", parameters[0].Value); text = "ordinary=easy;"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(1, parameters.Length); Assert.AreEqual("ordinary", parameters[0].Name); Assert.AreEqual("easy", parameters[0].Value); text = ";ordinary=easy"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(1, parameters.Length); Assert.AreEqual("ordinary", parameters[0].Name); Assert.AreEqual("easy", parameters[0].Value); text = "ordinary = easy"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(1, parameters.Length); Assert.AreEqual("ordinary", parameters[0].Name); Assert.AreEqual("easy", parameters[0].Value); text = " ordinary = easy"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(1, parameters.Length); Assert.AreEqual("ordinary", parameters[0].Name); Assert.AreEqual("easy", parameters[0].Value); text = " ; ; ordinary = easy; "; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(1, parameters.Length); Assert.AreEqual("ordinary", parameters[0].Name); Assert.AreEqual("easy", parameters[0].Value); text = "ordinary=easy;noValue="; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(2, parameters.Length); Assert.AreEqual("noValue", parameters[1].Name); Assert.AreEqual(string.Empty, parameters[1].Value); text = "ordinary=easy;noValue=;"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(2, parameters.Length); Assert.AreEqual("noValue", parameters[1].Name); Assert.AreEqual(string.Empty, parameters[1].Value); text = "ordinary=easy;noValue=;with space=should work"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(3, parameters.Length); Assert.AreEqual("with space", parameters[2].Name); Assert.AreEqual("should work", parameters[2].Value); text = "ordinary=easy;noValue=;" + @"with space=should work;es\=caped=is\; OK;"; parameters = ParameterUtility.ParseString(text); Assert.AreEqual(4, parameters.Length); Assert.AreEqual("es=caped", parameters[3].Name); Assert.AreEqual("is; OK", parameters[3].Value); }