public void Process(Message message) { message .GetItemAttributes(_plentyConnector) .ExtractVariable("//Attributes", "ItemAttributes", XmlExtensions.NodeType.Node) .LoadModuleResourceXml<Module>("PlentyConfig.xml") .ExtractVariable("//PlentyConfig", "PlentyConfig", XmlExtensions.NodeType.Node) .ExtractHost("//LeoveServer1/Host") .ExtractPort("//LeoveServer1/Port") .ExtractUsername("//LeoveServer1/Username") .ExtractPassword("//LeoveServer1/Password") .ExtractDatabase("//LeoveServer1/Database") .MsSqlSelect("SELECT DISTINCT TOP(1) Type FROM [CncEngine].[dbo].[TranslationTable] WHERE Type LIKE 'Size.%' ORDER BY Type") .SplitMessages("//Type") .ForEach(m => m .SetVariable("CurrentType", m.Payload.Value) .MsSqlSelect(String.Format("SELECT DISTINCT Term FROM [CncEngine].[dbo].[TranslationTable] WHERE Type = '{0}' ORDER BY Term", m.Payload.Value)) .SplitMessages("//Term") .ForEach(mm => mm .VariableToPayload("CurrentType") .AddToPayload(mm.Variables["PlentyConfig"]) .AddToPayload(mm.Variables["ItemAttributes"].XmlXPath("//item[BackendName='" + mm.Variables["CurrentType"] + "']").FirstOrDefault()) .XslTransformFromModuleResource<Module>("ItemAttributes/Login2AddItemAttribute.xsl") ) .Combine() //.VariableToPayload("CurrentType") //.Combine(mm => m.SetPayload(XElement.Parse(mm.Variables["PlentyConfig"].ToString()))) //.Combine(mm => m.SetPayload(mm.Variables["ItemAttributes"].ToString().ExtractXPath("//item[BackendName='" + mm.Variables["currentType"] + "']", XmlExtensions.NodeType.Node))) ) .Combine() .SetVariable("ContentType", "text/xml") ; }
public void Process(Message message) { message.GetItemAttributes(_plentyConnector); }