using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NX_Installation { class GetTransferParameters { private string FileName { set; get; } public GetTransferParameters(string filename) { FileName = filename; } /// /// Delivers the transfer parameters in a string array /// /// Maximum numbers of values you want to get. /// public string[] GetTransferParameter(int arrayNumber) { Logfile log = new Logfile(FileName); log.Info("Determine transfer parameters"); int arrayLenght = ArrayLenght(); string[] allParameter = new string[arrayLenght]; allParameter = ReadTransferParameter(); foreach (String s in allParameter) //Werte in die Logdatei schreiben { log.Info("Determined transfer parameters: " + s); } return ShortenPathParameter(allParameter, arrayNumber); } private string[] ReadTransferParameter() { return Environment.GetCommandLineArgs(); } private string[] ShortenPathParameter(string[] allParameter, int arrayNumber) { //Den ersten Parameter (= Dateipfad) ausfiltern int arrayLenght = allParameter.Length - 1; if (arrayLenght > arrayNumber) arrayLenght = arrayNumber; string[] parameter = new string[arrayLenght]; for (int i = 0; i < arrayLenght; i++) { parameter[i] = allParameter[i + 1]; } return parameter; } /// /// Returns the lenght of an Array /// /// public int ArrayLenght() { return ReadTransferParameter().Length; } /// /// Check whether a arrayfield is empty /// /// Array you want to evaluate /// Maximum array count /// public bool ParametersAreEmpty(string[] transferParameter, int maxArrayLenght) { Logfile log = new Logfile(FileName); log.Info("Check whether transfer parameters are valid"); bool empty = false; if (transferParameter.Length < maxArrayLenght) return empty = true; for (int i = 0; i < maxArrayLenght; i++) { if (transferParameter[i] == "") empty = true; } if (empty) { log.Warn("Transfer parameter is empty"); } else { log.Info("Transfer parameter has a value"); } return empty; } } }