nx-installation_projects_vi.../NX-Installation/GetTransferParameters.cs

98 lines
3.0 KiB
C#

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;
}
/// <summary>
/// Delivers the transfer parameters in a string array
/// </summary>
/// <param name="arrayNumber">Maximum numbers of values you want to get.</param>
/// <returns></returns>
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;
}
/// <summary>
/// Returns the lenght of an Array
/// </summary>
/// <returns></returns>
public int ArrayLenght()
{
return ReadTransferParameter().Length;
}
/// <summary>
/// Check whether a arrayfield is empty
/// </summary>
/// <param name="transferParameter">Array you want to evaluate</param>
/// <param name="maxArrayLenght">Maximum array count</param>
/// <returns></returns>
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;
}
}
}