using System.Collections.Generic;
namespace Vrh.iScheduler.Report
{
///
/// iSchedulerReport-ban alkalmazható változók osztálya.
///
public class ScheduleReportVariables : Dictionary
{
#region Constants
///
/// Az ebben az osztályban szereplő változók bal oldali (kezdő) szeparátora (bal és jobb között fogja keresni).
///
public const string LEFT_SEPARATOR= "@";
///
/// Az ebben az osztályban szereplő változók jobb oldali (lezáró) szeparátora (bal és jobb között fogja keresni).
///
public const string RIGHT_SEPARATOR = "@";
///
/// A végrehajtandó riport csomaghoz hozzárendelendő szerep létrehozásakor az „Új szerep létrehozása” ablak
/// adatbeviteli mezőjében megadott érték. (CreateRoleUrl-ben használható az Editor-ban.)
/// A végrehajtandó riport csomaghoz hozzárendelt szerep neve. (PackageExecute-nál)
///
public const string ROLENAME = "ROLENAME";
///
/// A megadott szerepköröket tartalmazó lista változója.
/// Az AssignRoleToRolegroupsUrl-ben használható az Editor-ban.
///
public const string ROLEGROUPLIST = "ROLEGROUPLIST";
///
/// A megadott felhasználókat tartalmazó lista változója.
/// Az AssignRoleToUsersUrl-ben használható az Editor-ban.
///
public const string USERLIST = "USERLIST";
///
/// A végrehajtandó report nyelvi beállítása! Adatbázisból!
///
public const string LCID = "LCID";
///
/// Az Execute akciónak paraméterben átadott időbélyeg dátum része YYYYMMDD formában.
///
public const string DATESTAMP = "DATESTAMP";
///
/// Az Execute akciónak paraméterben átadott időbélyeg dátum része HHmmss formában.
///
public const string TIMESTAMP ="TIMESTAMP";
///
/// Az Execute akciónak paraméterben átadott riport csomag azonosító.
///
public const string PCKNAME ="PCKNAME";
///
/// A legenerált riport file-ok teljes elérési útjának vesszővel tagolt listája
/// (SendMessageUrl használhatja)
///
public const string FILEPATHLIST = "FILEPATHLIST";
///
/// A végrehajtandó riport neve. (RunReportUrl használhatja)
///
public const string REPORTNAME="REPORTNAME";
///
/// A végrehajtandó riport formátuma. (RunReportUrl használhatja).
///
public const string REPORTFORMAT ="REPORTFORMAT";
///
/// A riport csomagra jogosult felhasználók e-mail címeinek listája.
/// (SendMessageUrl használhatja)
///
public const string SENDTOEMAILLIST ="SENDTOEMAILLIST";
///
/// A végrehajtandó riport letárolási helye, célmappa.
/// (RunReportUrl használhatja)
///
public const string REPORTFILEPATH = "REPORTFILEPATH";
///
/// A riportnak átadandó paraméter összeállítás neve.
/// (RunReportUrl használhatja)
///
public const string PARPRESET = "PARPRESET";
///
/// Az épp elmentett csomag azonosítója.
/// (TestExecuteUrl használhatja)
///
public const string OBJECTID ="OBJECTID";
///
/// Az épp elmentett csomag csoportja.
/// (TestExecuteUrl használhatja)
///
public const string GROUPID = "GROUPID";
///
/// A teszt futtatás időpontja.
/// (TestExecuteUrl használhatja)
///
public const string NOW = "NOW";
///
/// Az az XmlParser kapcsolati sztring, amely alapján az editor működik.
/// (TestExecuteUrl használhatja)
///
public const string THISXMLCS = "THISXMLCS";
#endregion Constants
#region Properties
#endregion Properties
#region Constructor
#endregion Constructor
#region Public methods
///
/// Az osztály változóinak behelyettesítése.
///
/// Az adat, amelyben meg kell vizsgálni van-e helyettesítendő változó.
/// A behelyettesítés utáni string.
public string Substitution(string data)
{
if (string.IsNullOrWhiteSpace(data)) return data;
string result = data;
foreach (KeyValuePair ppair in this)
{
result = result.Replace(string.Concat(LEFT_SEPARATOR, ppair.Key, RIGHT_SEPARATOR), ppair.Value);
}
return result;
}
#endregion Public methods
}
}