Skip to main content

Beispiel-Plugin

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using WATO.PluginContract;

namespace Test.Export.Plugin
{
public class TestExportPlugin : IPluginExport
{
#region Class Variables

string _log = "";
string _pluginVar1 = "";
string _pluginVar2 = "";
string _pluginVar3 = "";
string _pluginVar4 = "";
string _pluginVar5 = "";
bool _hasError = false;
bool _exportAgain = false;

#endregion

#region Properties
/// <summary>
/// Eindeutige Id des Plugin
/// </summary>
public Guid Id
{
get
{
return new Guid("fe29615c-ac5d-481e-81d3-565e998601df");
}
}

/// <summary>
/// Name des Plugin
/// </summary>
public string Name
{
get
{
return "Test Export Plugin";
}
}

/// <summary>
/// Beschreibung des Plugin
/// </summary>
public string Beschreibung
{
get
{
return "Test Export Plugin";
}
}

/// <summary>
/// Log-Infos
/// </summary>
public string Log
{
get
{
return _log;
}
}

/// <summary>
/// Gibt an, ob es einen Fehler gab.
/// </summary>
public bool HasError
{
get
{
return _hasError;
}
}

/// <summary>
/// PluginVar1 zum verwenden in zu ersetzenden Variablen
/// </summary>
/// <summary>
/// Gibt an, ob der gleiche Export erneut ausgeführt werden soll
/// </summary>
public bool ExportAgain
{
get
{
return _exportAgain;
}
}

public string PluginVar1
{
get
{
return _pluginVar1;
}
}

/// <summary>
/// PluginVar2 zum verwenden in zu ersetzenden Variablen
/// </summary>
public string PluginVar2
{
get
{
return _pluginVar2;
}
}

/// <summary>
/// PluginVar3 zum verwenden in zu ersetzenden Variablen
/// </summary>
public string PluginVar3
{
get
{
return _pluginVar3;
}
}

/// <summary>
/// PluginVar4 zum verwenden in zu ersetzenden Variablen
/// </summary>
public string PluginVar4
{
get
{
return _pluginVar4;
}
}

/// <summary>
/// PluginVar5 zum verwenden in zu ersetzenden Variablen
/// </summary>
public string PluginVar5
{
get
{
return _pluginVar5;
}
}
#endregion

#region Methoden
/// <summary>
/// Führt das Plugin auf Basis der Configuration aus
/// </summary>
/// <param name="file"></param>
/// <param name="configData"></param>
/// <returns></returns>
public bool Execute(string exportFile, string configData)
{
int nAktion = 0;

string lfdnr = "";
string groupId = "";
string groupName = "";
string eventId = "";
string category = "";

_pluginVar1 = "";
_pluginVar2 = "";
_pluginVar3 = "";
_pluginVar4 = "";
_pluginVar5 = "";

if (!System.IO.File.Exists(exportFile))
{
this._log += Environment.NewLine + string.Format("Die Export-Datei '{0}' ist nicht vorhanden.", exportFile);
return false;
}

if (string.IsNullOrEmpty(configData))
{
this._log += Environment.NewLine + "Der Konfigurations-String ist leer.";
return false;
}
else
{
string[] values = configData.Split('¿');

if (values.Length == 8)
{
int.TryParse(values[0], out nAktion);

_clientId = values[1];
_ClientSecret = values[2];
_tenantId = values[3];
_user = values[4];
_userPwd = values[5];
_createNew = (values[6] == "1" ? true : false);
_logRequestResponse = (values[7] == "1" ? true : false);

}
else
{
this._log += Environment.NewLine + "Der Konfigurations-String ist nicht gülitg, da er nicht die erforderte Anzahl (8) an Parametern enthält";
return false;
}
}

return true;
}

/// <summary>
/// Liefert einen String mit Konfigurations-Daten
/// </summary>
/// <param name="configData"></param>
/// <returns></returns>
public bool GetConfiguration(ref string configData)
{
dlgExportPluginConfig dlg = new dlgExportPluginConfig(configData);

if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
configData = dlg.ConfigData;

return true;
}

return false;
}

#endregion
}
}