Dynamiskt lägga till en DataSource via Plugin

Hjälp med plugins, tillägg (exempelvis webbtillägget) och exempelkod som inte ingår i Switch Kings officiella installationspaket
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
Post Reply
henkep
2 stars
2 stars
Posts: 49
Joined: Mon 07 Nov 2011, 14:12

Dynamiskt lägga till en DataSource via Plugin

Post by henkep » Mon 10 Sep 2012, 20:43

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

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Dynamiskt lägga till en DataSource via Plugin

Post by Martin » Mon 10 Sep 2012, 20:57

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.
Martin | Switch King

henkep
2 stars
2 stars
Posts: 49
Joined: Mon 07 Nov 2011, 14:12

Re: Dynamiskt lägga till en DataSource via Plugin

Post by henkep » Mon 10 Sep 2012, 21:09

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.
Hej Martin!

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

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Dynamiskt lägga till en DataSource via Plugin

Post by Martin » Mon 10 Sep 2012, 21:30

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. :!:
Martin | Switch King

Post Reply

Who is online

Users browsing this forum: No registered users and 32 guests