-
Vybrať vhodný názov pre projekt, v štruktúre Noris.<NazovModulu>.
Neskoršie premenovanie projektu je problematické, ak je to nutné, je potrebné projekt so zlým menom zmazať a vytvoriť znova - správne
Vo Visual Studio, vo vývojovom Solution vytvoriť nový projekt typu ClassLibrary
-
Zmazať automatucky vytvorenú triedu
Class1.cs
-
Vytvoriť štruktúru adresárov
|
cs
|
c# kód
|
|
FncForms
|
xaml pre parametrické okná funkcií
|
|
Forms
|
xaml pre formuláre
|
|
Items
|
xaml pre položky
|
|
Resources
|
xaml pre Enumy a iné zdroje
Povinný je xaml pre Enumy projektu v štruktúre Noris.<Nazovprojektu>_Enums.xaml, napríklad Noris.MaP_Enums.xaml
|
|
Scripts
|
pre sql skripty. Skripty musia byť umiestnené v podadresári Modules\<Nazovprojektu>
Napríklad:
|
|
Tabs
|
xaml pre prehľady
|
|
iné adresáre
|
bez obmedzenia podľa potreby
|
-
Pridať referencie na WindowsBase, PresentationCore, PresentationFramework týmto spôsobom
-
Pridať referencie na Noris projekty
-
Pridať referenciu na nový projekt do projektu Noris.Start
-
Pridať objekt pre inicializáciu modulu, ktorý je potomkom
InitModuleBase
namespace Noris.Senor
{
public class InitModule: InitModuleBase
{
public InitModule()
{
base.RequiredClassID = 0;
base.Name = "Test";
}
public override void Init()
{
Noris.Client.GUIHelper.MergeDictionary("Noris.Test", "Noris.Test_Enums.xaml");
}
public override void Clear()
{
}
}
}
Vzorový popis interface IInitModule
public class InitModule : IInitModule
{
/// <summary>
/// Definovať číslo triedy, ktoré musí v Repozitory existovať,
/// aby bol tento modul načítaný jadrom
/// </summary>
public int RequiredClassID => 123;
/// <summary>
/// Užívateľský názov modulu
/// </summary>
public string Name { get; set; } = "Testovací modul";
/// <summary>
/// Pre inicializčné úlohy na pozadí
/// </summary>
public void BackgroundTask()
{
}
/// <summary>
/// Pre čisteni aplikačného Cache či iné uvolnenie zdrojov, napríklad kvôli prechodu na inú databázu
/// </summary>
public void Clear()
{
}
/// <summary>
/// Pre pridanie ikony v hlavnom toolbare
/// </summary>
/// <returns></returns>
public object CreateGlobalToolIcon()
{
return null;
}
public ReportValidator CreateReportValidator()
{
return null;
}
/// <summary>
/// Pre link k príručke modulu
/// </summary>
/// <param name="caption"></param>
/// <param name="url"></param>
public void DocLink(out string caption, out string url)
{
caption = "Dokumentácia Test";
url = @"http://www.intelsoft.eu/cms/TestDoc";
}
/// <summary>
/// Pre zostavenie špecifického podmenu modulu v toolbare hlavného okna
/// </summary>
/// <returns></returns>
public object DocMenuItem()
{
return null;
}
/// <summary>
/// Synchrónna inicializácia modulu
/// Ošetriť chyby a nemá trvať dlho, spomaľuje / pri chybách zablokuje štart systému
/// Ukážka ako pripojiť aplikačné enumy do systému
/// </summary>
public void Init()
{
Noris.Client.GUIHelper.MergeDictionary("Noris.Test", "Noris.Test_Enums.xaml");
}
/// <summary>
/// Pre aplikačný kód, ktorý sa má vykonať pri zmene LEN účtovného obdobia
/// </summary>
public void OnPeriodChanged()
{
}
}
-
Pridať xaml pre enumy do adresára Resources po podľa iného projektu, musí byť v súlade s
public void Init()
{
Noris.Client.GUIHelper.MergeDictionary("Noris.Test", "Noris.Test_Enums.xaml");
}
V projektovom súbore s koncovkou .csproj odstrániť nastavenie <Deterministic>true</Deterministic>
Unload project, zmazať " <Deterministic>true</Deterministic>", uložiť, Reload project