Hej
Undrar om det är möjligt via plugin interfacet att skapa nya datasources till Switch King? Funderar på att skriva ett 1-wire plugin till SwitchKing men vill att pluginet själv ska kunna skapa upp de DataSources som systemet behöver.
Jag har testat lite med ExternalData_V11.DataSourcesRow men jag får inte tillgång till den interna konstruktorn så jag kan ej skapa upp ett nytt sådant objekt.
Vore kul att få det att funka så hjälp mottages tacksamt.
//Henrik
Dynamiskt lägga till en DataSource via Plugin
Forum rules
För att kunna hjälpa dig med supportfrågor behöver vi så mycket information som möjligt.
Innan du skapar en ny tråd, läs gärna:
viewtopic.php?f=10&t=20
För att kunna hjälpa dig med supportfrågor behöver vi så mycket information som möjligt.
Innan du skapar en ny tråd, läs gärna:
viewtopic.php?f=10&t=20
-
- 2 stars
- Posts: 49
- Joined: Mon 07 Nov 2011, 14:12
-
- Administrator
- Posts: 2655
- Joined: Tue 09 Nov 2010, 20:25
Re: Dynamiskt lägga till en DataSource via Plugin
Du kan göra detta direkt via plugin, som du skriver. Det är exempelvis möjligt att använda Switch Kings egna anrop för att skapa upp en datakälla.
Det är inte rekommenderat att gå direkt mot databasen - istället bör man låta affärslogiken i Switch King (finns i SwitchKing.Server.BusinessAccess.dll) ta hand om det istället.
Fördelen är att det blir väldigt "rent" - du kan köra SaveDataSource(ds); från ditt plugin. Nackdelen med att gå mot Switch Kings DLL:er är att Pluginet blir versionskänsligt (om man inte skruvar på konfigurationsfiler och överstyr det) samt att funktionen i Switch King ju faktiskt kan förändras.
Edit: Flyttat till ny kategori.
Det är inte rekommenderat att gå direkt mot databasen - istället bör man låta affärslogiken i Switch King (finns i SwitchKing.Server.BusinessAccess.dll) ta hand om det istället.
Fördelen är att det blir väldigt "rent" - du kan köra SaveDataSource(ds); från ditt plugin. Nackdelen med att gå mot Switch Kings DLL:er är att Pluginet blir versionskänsligt (om man inte skruvar på konfigurationsfiler och överstyr det) samt att funktionen i Switch King ju faktiskt kan förändras.
Edit: Flyttat till ny kategori.
Martin | Switch King
-
- 2 stars
- Posts: 49
- Joined: Mon 07 Nov 2011, 14:12
Re: Dynamiskt lägga till en DataSource via Plugin
Hej Martin!Martin wrote:Du kan göra detta direkt via plugin, som du skriver. Det är exempelvis möjligt att använda Switch Kings egna anrop för att skapa upp en datakälla.
Det är inte rekommenderat att gå direkt mot databasen - istället bör man låta affärslogiken i Switch King (finns i SwitchKing.Server.BusinessAccess.dll) ta hand om det istället.
Fördelen är att det blir väldigt "rent" - du kan köra SaveDataSource(ds); från ditt plugin. Nackdelen med att gå mot Switch Kings DLL:er är att Pluginet blir versionskänsligt (om man inte skruvar på konfigurationsfiler och överstyr det) samt att funktionen i Switch King ju faktiskt kan förändras.
Edit: Flyttat till ny kategori.
Jag gissade nästan att det skulle gå via BusinessAccess men problemet jag stöter på är att jag inte lyckas skapa ett nytt objekt av typen DataSourceRow. Den klagar på att jag ej kan nå den interna konstruktorn..
//Henrik
Tjoho, nu börjar klockan bli mycket.
Naturligtvis inte DataSourceRow som jag menar..
Det som krånglar är att jag försöker skapa en instans av SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity för att nå SaveDataSource(ds) men detta vill den absolut inte..
Du råkar inte ha ett exempel man kan kika på?
//Henrik
-
- Administrator
- Posts: 2655
- Joined: Tue 09 Nov 2010, 20:25
Re: Dynamiskt lägga till en DataSource via Plugin
Gå via:
SwitchKing.Server.BusinessAccess.DataCollection.BusinessInstances.DataSource istället. Den ger en singleton som redan är färdig att använda och som håller reda på cache-data.
Om du ska skapa en fildatakälla, Telldus-källa eller Xml-källa så kan du ropa på SwitchKing.Server.BusinessAccess.DataCollection.Factories.DataSourceTemplateFactory.CreateTemplate().
Så får du en "malldatakälla" - parameter exempelvis "FlatFile_Simple" eller "Telldus".
Annars kan du skapa en datakälla "rätt av", men då bör du exempelvis skapa en datakälla som har DataSource.TypeName = "ValueInjected" och dessutom har typen satt till DataSource.SourceType = ValueInjected.
Men - som sagt - detta blir versionskänsligt.
SwitchKing.Server.BusinessAccess.DataCollection.BusinessInstances.DataSource istället. Den ger en singleton som redan är färdig att använda och som håller reda på cache-data.
Om du ska skapa en fildatakälla, Telldus-källa eller Xml-källa så kan du ropa på SwitchKing.Server.BusinessAccess.DataCollection.Factories.DataSourceTemplateFactory.CreateTemplate().
Så får du en "malldatakälla" - parameter exempelvis "FlatFile_Simple" eller "Telldus".
Annars kan du skapa en datakälla "rätt av", men då bör du exempelvis skapa en datakälla som har DataSource.TypeName = "ValueInjected" och dessutom har typen satt till DataSource.SourceType = ValueInjected.
Men - som sagt - detta blir versionskänsligt.

Martin | Switch King
Who is online
Users browsing this forum: No registered users and 32 guests