namespace TM.Bosman.Pipelines
{
    using System;
    using System.Collections.Generic;
    using Microsoft.BizTalk.PipelineOM;
    using Microsoft.BizTalk.Component;
    using Microsoft.BizTalk.Component.Interop;
    
    
    public sealed class IFCSUM_EDIReceive : Microsoft.BizTalk.PipelineOM.ReceivePipeline
    {
        
        private const string _strPipeline = "<?xml version=\"1.0\" encoding=\"utf-16\"?><Document xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instanc"+
"e\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" MajorVersion=\"1\" MinorVersion=\"0\">  <Description /> "+
" <CategoryId>f66b9f5e-43ff-4f5f-ba46-885348ae1b4e</CategoryId>  <FriendlyName>Receive</FriendlyName>"+
"  <Stages>    <Stage>      <PolicyFileStage _locAttrData=\"Name\" _locID=\"1\" Name=\"Decode\" minOccurs=\""+
"0\" maxOccurs=\"-1\" execMethod=\"All\" stageId=\"9d0e4103-4cce-4536-83fa-4a5040674ad6\" />      <Component"+
"s />    </Stage>    <Stage>      <PolicyFileStage _locAttrData=\"Name\" _locID=\"2\" Name=\"Disassemble\" "+
"minOccurs=\"0\" maxOccurs=\"-1\" execMethod=\"FirstMatch\" stageId=\"9d0e4105-4cce-4536-83fa-4a5040674ad6\" "+
"/>      <Components>        <Component>          <Name>Microsoft.BizTalk.Edi.Pipelines.EdiDisassembl"+
"er,Microsoft.BizTalk.Edi.PipelineComponents, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf38"+
"56ad364e35</Name>          <ComponentName>EDI disassembler</ComponentName>          <Description>EDI"+
" Disassembler</Description>          <Version>1.1</Version>          <Properties>            <Proper"+
"ty Name=\"XmlSchemaValidation\">              <Value xsi:type=\"xsd:boolean\">false</Value>            <"+
"/Property>            <Property Name=\"Override997With999\">              <Value xsi:type=\"xsd:boolean"+
"\">false</Value>            </Property>            <Property Name=\"OverrideFallbackSettings\">        "+
"      <Value xsi:type=\"xsd:boolean\">true</Value>            </Property>            <Property Name=\"E"+
"diDataValidation\">              <Value xsi:type=\"xsd:boolean\">false</Value>            </Property>  "+
"          <Property Name=\"AllowTrailingDelimiters\">              <Value xsi:type=\"xsd:boolean\">false"+
"</Value>            </Property>            <Property Name=\"UseIsa11AsRepetitionSeparator\">          "+
"    <Value xsi:type=\"xsd:boolean\">false</Value>            </Property>            <Property Name=\"Pr"+
"eserveInterchange\">              <Value xsi:type=\"xsd:boolean\">false</Value>            </Property> "+
"           <Property Name=\"EfactDelimiters\">              <Value xsi:type=\"xsd:string\">0x3A, 0x2B, 0"+
"x2C, 0x3F, 0x20, 0x27, 0x0D, 0x0A</Value>            </Property>            <Property Name=\"CreateXm"+
"lTagForTrailingSeparators\">              <Value xsi:type=\"xsd:boolean\">false</Value>            </Pr"+
"operty>            <Property Name=\"MaskSecurityInformation\">              <Value xsi:type=\"xsd:boole"+
"an\">true</Value>            </Property>            <Property Name=\"ConvertToImpliedDecimal\">        "+
"      <Value xsi:type=\"xsd:boolean\">false</Value>            </Property>            <Property Name=\""+
"RouteAckOn2WayPort\">              <Value xsi:type=\"xsd:boolean\">true</Value>            </Property> "+
"           <Property Name=\"CharacterSet\">              <Value xsi:type=\"xsd:string\">UTF8</Value>    "+
"        </Property>            <Property Name=\"DetectMID\">              <Value xsi:type=\"xsd:boolean"+
"\">true</Value>            </Property>            <Property Name=\"UseDotAsDecimalSeparator\">         "+
"     <Value xsi:type=\"xsd:boolean\">false</Value>            </Property>          </Properties>      "+
"    <CachedDisplayName>EDI disassembler</CachedDisplayName>          <CachedIsManaged>true</CachedIs"+
"Managed>        </Component>      </Components>    </Stage>    <Stage>      <PolicyFileStage _locAtt"+
"rData=\"Name\" _locID=\"3\" Name=\"Validate\" minOccurs=\"0\" maxOccurs=\"-1\" execMethod=\"All\" stageId=\"9d0e4"+
"10d-4cce-4536-83fa-4a5040674ad6\" />      <Components>        <Component>          <Name>PipelineComp"+
"onents.ESBTrackingComponent,TM.Shared.PipelineComponents, Version=1.0.0.0, Culture=neutral, PublicKe"+
"yToken=db1d2fbb73684f7d</Name>          <ComponentName>ESBTrackingComponent v1.2</ComponentName>    "+
"      <Description>Custom Pipeline Component used to log messages instead of DTA Tracking</Descripti"+
"on>          <Version>1.2.0.0</Version>          <Properties>            <Property Name=\"PipelineDir"+
"ection\">              <Value xsi:type=\"xsd:string\">INCOMING</Value>            </Property>          "+
"  <Property Name=\"PipelineSolution\">              <Value xsi:type=\"xsd:string\">TM.Bosman</Value>    "+
"        </Property>            <Property Name=\"PipelineService\">              <Value xsi:type=\"xsd:s"+
"tring\">RECEIVE</Value>            </Property>            <Property Name=\"PipelinePhase\">            "+
"  <Value xsi:type=\"xsd:string\">OUT</Value>            </Property>          </Properties>          <C"+
"achedDisplayName>ESBTrackingComponent v1.2</CachedDisplayName>          <CachedIsManaged>true</Cache"+
"dIsManaged>        </Component>      </Components>    </Stage>    <Stage>      <PolicyFileStage _loc"+
"AttrData=\"Name\" _locID=\"4\" Name=\"ResolveParty\" minOccurs=\"0\" maxOccurs=\"-1\" execMethod=\"All\" stageId"+
"=\"9d0e410e-4cce-4536-83fa-4a5040674ad6\" />      <Components />    </Stage>  </Stages></Document>";
        
        private const string _versionDependentGuid = "e7c2cfeb-3bcd-4624-8456-7a1d4e21f4b9";
        
        public IFCSUM_EDIReceive()
        {
            Microsoft.BizTalk.PipelineOM.Stage stage = this.AddStage(new System.Guid("9d0e4105-4cce-4536-83fa-4a5040674ad6"), Microsoft.BizTalk.PipelineOM.ExecutionMode.firstRecognized);
            IBaseComponent comp0 = Microsoft.BizTalk.PipelineOM.PipelineManager.CreateComponent("Microsoft.BizTalk.Edi.Pipelines.EdiDisassembler,Microsoft.BizTalk.Edi.PipelineComponents, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");;
            if (comp0 is IPersistPropertyBag)
            {
                string comp0XmlProperties = "<?xml version=\"1.0\" encoding=\"utf-16\"?><PropertyBag xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-inst"+
"ance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">  <Properties>    <Property Name=\"XmlSchemaValida"+
"tion\">      <Value xsi:type=\"xsd:boolean\">false</Value>    </Property>    <Property Name=\"Override99"+
"7With999\">      <Value xsi:type=\"xsd:boolean\">false</Value>    </Property>    <Property Name=\"Overri"+
"deFallbackSettings\">      <Value xsi:type=\"xsd:boolean\">true</Value>    </Property>    <Property Nam"+
"e=\"EdiDataValidation\">      <Value xsi:type=\"xsd:boolean\">false</Value>    </Property>    <Property "+
"Name=\"AllowTrailingDelimiters\">      <Value xsi:type=\"xsd:boolean\">false</Value>    </Property>    <"+
"Property Name=\"UseIsa11AsRepetitionSeparator\">      <Value xsi:type=\"xsd:boolean\">false</Value>    <"+
"/Property>    <Property Name=\"PreserveInterchange\">      <Value xsi:type=\"xsd:boolean\">false</Value>"+
"    </Property>    <Property Name=\"EfactDelimiters\">      <Value xsi:type=\"xsd:string\">0x3A, 0x2B, 0"+
"x2C, 0x3F, 0x20, 0x27, 0x0D, 0x0A</Value>    </Property>    <Property Name=\"CreateXmlTagForTrailingS"+
"eparators\">      <Value xsi:type=\"xsd:boolean\">false</Value>    </Property>    <Property Name=\"MaskS"+
"ecurityInformation\">      <Value xsi:type=\"xsd:boolean\">true</Value>    </Property>    <Property Nam"+
"e=\"ConvertToImpliedDecimal\">      <Value xsi:type=\"xsd:boolean\">false</Value>    </Property>    <Pro"+
"perty Name=\"RouteAckOn2WayPort\">      <Value xsi:type=\"xsd:boolean\">true</Value>    </Property>    <"+
"Property Name=\"CharacterSet\">      <Value xsi:type=\"xsd:string\">UTF8</Value>    </Property>    <Prop"+
"erty Name=\"DetectMID\">      <Value xsi:type=\"xsd:boolean\">true</Value>    </Property>    <Property N"+
"ame=\"UseDotAsDecimalSeparator\">      <Value xsi:type=\"xsd:boolean\">false</Value>    </Property>  </P"+
"roperties></PropertyBag>";
                PropertyBag pb = PropertyBag.DeserializeFromXml(comp0XmlProperties);;
                ((IPersistPropertyBag)(comp0)).Load(pb, 0);
            }
            this.AddComponent(stage, comp0);
            stage = this.AddStage(new System.Guid("9d0e410d-4cce-4536-83fa-4a5040674ad6"), Microsoft.BizTalk.PipelineOM.ExecutionMode.all);
            IBaseComponent comp1 = Microsoft.BizTalk.PipelineOM.PipelineManager.CreateComponent("PipelineComponents.ESBTrackingComponent,TM.Shared.PipelineComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db1d2fbb73684f7d");;
            if (comp1 is IPersistPropertyBag)
            {
                string comp1XmlProperties = "<?xml version=\"1.0\" encoding=\"utf-16\"?><PropertyBag xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-inst"+
"ance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">  <Properties>    <Property Name=\"PipelineDirecti"+
"on\">      <Value xsi:type=\"xsd:string\">INCOMING</Value>    </Property>    <Property Name=\"PipelineSo"+
"lution\">      <Value xsi:type=\"xsd:string\">TM.Bosman</Value>    </Property>    <Property Name=\"Pipel"+
"ineService\">      <Value xsi:type=\"xsd:string\">RECEIVE</Value>    </Property>    <Property Name=\"Pip"+
"elinePhase\">      <Value xsi:type=\"xsd:string\">OUT</Value>    </Property>  </Properties></PropertyBa"+
"g>";
                PropertyBag pb = PropertyBag.DeserializeFromXml(comp1XmlProperties);;
                ((IPersistPropertyBag)(comp1)).Load(pb, 0);
            }
            this.AddComponent(stage, comp1);
        }
        
        public override string XmlContent
        {
            get
            {
                return _strPipeline;
            }
        }
        
        public override System.Guid VersionDependentGuid
        {
            get
            {
                return new System.Guid(_versionDependentGuid);
            }
        }
    }
}
