public Microsoft.XLANGs.Core.StopConditions segment0(Microsoft.XLANGs.Core.StopConditions stopOn) { Microsoft.XLANGs.Core.Segment __seg__ = _segments[0]; Microsoft.XLANGs.Core.Context __ctx__ = (Microsoft.XLANGs.Core.Context)_stateMgrs[0]; __Simple_SMTP_1 __ctx1__ = (__Simple_SMTP_1)_stateMgrs[1]; __Simple_SMTP_root_0 __ctx0__ = (__Simple_SMTP_root_0)_stateMgrs[0]; switch (__seg__.Progress) { case 0: Rcv = new Rcv_Smtp_Port(0, this); Send = new Send_Smtp_port(1, this); __ctx__.PrologueCompleted = true; __ctx0__.__subWrapper0 = new Microsoft.XLANGs.Core.SubscriptionWrapper(ActivationSubGuids[0], Rcv, this); if (!PostProgressInc(__seg__, __ctx__, 1)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } if ((stopOn & Microsoft.XLANGs.Core.StopConditions.Initialized) != 0) { return(Microsoft.XLANGs.Core.StopConditions.Initialized); } goto case 1; case 1: __ctx1__ = new __Simple_SMTP_1(this); _stateMgrs[1] = __ctx1__; if (!PostProgressInc(__seg__, __ctx__, 2)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 2; case 2: __ctx0__.StartContext(__seg__, __ctx1__); if (!PostProgressInc(__seg__, __ctx__, 3)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } return(Microsoft.XLANGs.Core.StopConditions.Blocked); case 3: if (!__ctx0__.CleanupAndPrepareToCommit(__seg__)) { return(Microsoft.XLANGs.Core.StopConditions.Blocked); } if (!PostProgressInc(__seg__, __ctx__, 4)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 4; case 4: __ctx1__.Finally(); ServiceDone(__seg__, (Microsoft.XLANGs.Core.Context)_stateMgrs[0]); __ctx0__.OnCommit(); break; } return(Microsoft.XLANGs.Core.StopConditions.Completed); }
private void ConstructorHelper() { _segments = new Microsoft.XLANGs.Core.Segment[] { new Microsoft.XLANGs.Core.Segment(new Microsoft.XLANGs.Core.Segment.SegmentCode(this.segment0), 0, 0, 0), new Microsoft.XLANGs.Core.Segment(new Microsoft.XLANGs.Core.Segment.SegmentCode(this.segment1), 1, 1, 1) }; _Locks = 0; _rootContext = new __Simple_SMTP_root_0(this); _stateMgrs = new Microsoft.XLANGs.Core.IStateManager[2]; _stateMgrs[0] = _rootContext; FinalConstruct(); }
public override void Finally() { Simple_SMTP __svc__ = (Simple_SMTP)_service; __Simple_SMTP_root_0 __ctx0__ = (__Simple_SMTP_root_0)(__svc__._stateMgrs[0]); if (__svc__.Rcv != null) { __svc__.Rcv.Close(this, null); __svc__.Rcv = null; } if (__svc__.Send != null) { __svc__.Send.Close(this, null); __svc__.Send = null; } base.Finally(); }
public Microsoft.XLANGs.Core.StopConditions segment1(Microsoft.XLANGs.Core.StopConditions stopOn) { Microsoft.XLANGs.Core.Envelope __msgEnv__ = null; Microsoft.XLANGs.Core.Segment __seg__ = _segments[1]; Microsoft.XLANGs.Core.Context __ctx__ = (Microsoft.XLANGs.Core.Context)_stateMgrs[1]; __Simple_SMTP_1 __ctx1__ = (__Simple_SMTP_1)_stateMgrs[1]; __Simple_SMTP_root_0 __ctx0__ = (__Simple_SMTP_root_0)_stateMgrs[0]; switch (__seg__.Progress) { case 0: __ctx1__.__xmlDoc = new Microsoft.XLANGs.RuntimeTypes.XmlDocumentSerializationProxy(); __ctx__.PrologueCompleted = true; if (!PostProgressInc(__seg__, __ctx__, 1)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 1; case 1: if (!PreProgressInc(__seg__, __ctx__, 2)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } Tracker.FireEvent(__eventLocations[0], __eventData[0], _stateMgrs[1].TrackDataStream); if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 2; case 2: if (!PreProgressInc(__seg__, __ctx__, 3)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } Tracker.FireEvent(__eventLocations[1], __eventData[1], _stateMgrs[1].TrackDataStream); if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 3; case 3: if (!Rcv.GetMessageId(__ctx0__.__subWrapper0.getSubscription(this), __seg__, __ctx1__, out __msgEnv__)) { return(Microsoft.XLANGs.Core.StopConditions.Blocked); } if (__ctx1__.__IN_msg != null) { __ctx1__.UnrefMessage(__ctx1__.__IN_msg); } __ctx1__.__IN_msg = new __messagetype_SMTP_Test_PO_Schema("IN_msg", __ctx1__); __ctx1__.RefMessage(__ctx1__.__IN_msg); Rcv.ReceiveMessage(0, __msgEnv__, __ctx1__.__IN_msg, null, (Microsoft.XLANGs.Core.Context)_stateMgrs[1], __seg__); if (Rcv != null) { Rcv.Close(__ctx1__, __seg__); Rcv = null; } if (!PostProgressInc(__seg__, __ctx__, 4)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 4; case 4: if (!PreProgressInc(__seg__, __ctx__, 5)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } { Microsoft.XLANGs.RuntimeTypes.EventData __edata = new Microsoft.XLANGs.RuntimeTypes.EventData(Microsoft.XLANGs.RuntimeTypes.Operation.End | Microsoft.XLANGs.RuntimeTypes.Operation.Receive); __edata.Messages.Add(__ctx1__.__IN_msg); __edata.PortName = @"Rcv"; Tracker.FireEvent(__eventLocations[2], __edata, _stateMgrs[1].TrackDataStream); } if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 5; case 5: __ctx1__.__xmlDoc.UnderlyingXmlDocument = new System.Xml.XmlDocument(); if (!PostProgressInc(__seg__, __ctx__, 6)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 6; case 6: if (!PreProgressInc(__seg__, __ctx__, 7)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } Tracker.FireEvent(__eventLocations[4], __eventData[2], _stateMgrs[1].TrackDataStream); if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 7; case 7: { __messagetype_SMTP_Test_PO_Schema __Out_msg = new __messagetype_SMTP_Test_PO_Schema("Out_msg", __ctx1__); __Out_msg.part.LoadFrom((System.Xml.XmlDocument)__ctx1__.__xmlDoc.UnderlyingXmlDocument); if (__ctx1__ != null) { __ctx1__.__xmlDoc = null; } __Out_msg.SetPropertyValue(typeof(SMTP.From), "*****@*****.**"); __Out_msg.SetPropertyValue(typeof(SMTP.EmailBodyText), "This email contains po number of order" + (System.String)__ctx1__.__IN_msg.part.GetDistinguishedField("PO_No")); if (__ctx1__ != null && __ctx1__.__IN_msg != null) { __ctx1__.UnrefMessage(__ctx1__.__IN_msg); __ctx1__.__IN_msg = null; } if (__ctx1__.__Out_msg != null) { __ctx1__.UnrefMessage(__ctx1__.__Out_msg); } __ctx1__.__Out_msg = __Out_msg; __ctx1__.RefMessage(__ctx1__.__Out_msg); } __ctx1__.__Out_msg.ConstructionCompleteEvent(false); if (!PostProgressInc(__seg__, __ctx__, 8)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 8; case 8: if (!PreProgressInc(__seg__, __ctx__, 9)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } { Microsoft.XLANGs.RuntimeTypes.EventData __edata = new Microsoft.XLANGs.RuntimeTypes.EventData(Microsoft.XLANGs.RuntimeTypes.Operation.End | Microsoft.XLANGs.RuntimeTypes.Operation.Construct); __edata.Messages.Add(__ctx1__.__Out_msg); Tracker.FireEvent(__eventLocations[5], __edata, _stateMgrs[1].TrackDataStream); } if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 9; case 9: if (!PreProgressInc(__seg__, __ctx__, 10)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } Tracker.FireEvent(__eventLocations[6], __eventData[3], _stateMgrs[1].TrackDataStream); if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 10; case 10: if (!__ctx1__.PrepareToPendingCommit(__seg__)) { return(Microsoft.XLANGs.Core.StopConditions.Blocked); } if (!PostProgressInc(__seg__, __ctx__, 11)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 11; case 11: if (!PreProgressInc(__seg__, __ctx__, 12)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } Send.SendMessage(0, __ctx1__.__Out_msg, null, null, __ctx1__, __seg__, Microsoft.XLANGs.Core.ActivityFlags.NextActivityPersists); if (Send != null) { Send.Close(__ctx1__, __seg__); Send = null; } if ((stopOn & Microsoft.XLANGs.Core.StopConditions.OutgoingRqst) != 0) { return(Microsoft.XLANGs.Core.StopConditions.OutgoingRqst); } goto case 12; case 12: if (!PreProgressInc(__seg__, __ctx__, 13)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } { Microsoft.XLANGs.RuntimeTypes.EventData __edata = new Microsoft.XLANGs.RuntimeTypes.EventData(Microsoft.XLANGs.RuntimeTypes.Operation.End | Microsoft.XLANGs.RuntimeTypes.Operation.Send); __edata.Messages.Add(__ctx1__.__Out_msg); __edata.PortName = @"Send"; Tracker.FireEvent(__eventLocations[7], __edata, _stateMgrs[1].TrackDataStream); } if (__ctx1__ != null && __ctx1__.__Out_msg != null) { __ctx1__.UnrefMessage(__ctx1__.__Out_msg); __ctx1__.__Out_msg = null; } if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 13; case 13: if (!PreProgressInc(__seg__, __ctx__, 14)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } Tracker.FireEvent(__eventLocations[3], __eventData[4], _stateMgrs[1].TrackDataStream); if (IsDebugged) { return(Microsoft.XLANGs.Core.StopConditions.InBreakpoint); } goto case 14; case 14: if (!__ctx1__.CleanupAndPrepareToCommit(__seg__)) { return(Microsoft.XLANGs.Core.StopConditions.Blocked); } if (!PostProgressInc(__seg__, __ctx__, 15)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 15; case 15: if (!PreProgressInc(__seg__, __ctx__, 16)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } __ctx1__.OnCommit(); goto case 16; case 16: __seg__.SegmentDone(); _segments[0].PredecessorDone(this); break; } return(Microsoft.XLANGs.Core.StopConditions.Completed); }