public override Microsoft.XLANGs.Core.PortBase Clone() { LeaveResponseSchemaPortType p = new LeaveResponseSchemaPortType(this); return p; }
public Microsoft.XLANGs.Core.StopConditions segment1(Microsoft.XLANGs.Core.StopConditions stopOn) { Microsoft.XLANGs.Core.Envelope __msgEnv__ = null; bool __condition__; Microsoft.XLANGs.Core.Segment __seg__ = _segments[1]; Microsoft.XLANGs.Core.Context __ctx__ = (Microsoft.XLANGs.Core.Context)_stateMgrs[1]; __LeaveMainOrch_root_0 __ctx0__ = (__LeaveMainOrch_root_0)_stateMgrs[0]; __LeaveMainOrch_1 __ctx1__ = (__LeaveMainOrch_1)_stateMgrs[1]; switch (__seg__.Progress) { case 0: __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; __ctx1__.__subWrapper1 = new Microsoft.XLANGs.Core.SubscriptionWrapper(1, System.Guid.Empty, ResponseFromHR, 0, __ctx0__); __ctx1__.__Correlation_1 = new Microsoft.XLANGs.Core.Correlation(this, 0, 1); __ctx1__.__Correlation_1.AddSubscription(((__LeaveMainOrch_1)_stateMgrs[1]).__subWrapper1.getSubscription(this), __ctx1__); Tracker.FireEvent(__eventLocations[1],__eventData[1],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 3; case 3: if (!LeaveRequestRecvPort.GetMessageId(__ctx0__.__subWrapper0.getSubscription(this), __seg__, __ctx1__, out __msgEnv__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if (__ctx1__.__MsgLeaveRequest != null) __ctx1__.UnrefMessage(__ctx1__.__MsgLeaveRequest); __ctx1__.__MsgLeaveRequest = new __messagetype_LeaveProject_LeaveRequestSchema("MsgLeaveRequest", __ctx1__); __ctx1__.RefMessage(__ctx1__.__MsgLeaveRequest); LeaveRequestRecvPort.ReceiveMessage(0, __msgEnv__, __ctx1__.__MsgLeaveRequest, new Microsoft.XLANGs.Core.Correlation[] { __ctx1__.__Correlation_1 }, (Microsoft.XLANGs.Core.Context)_stateMgrs[1], __seg__); if (LeaveRequestRecvPort != null) { LeaveRequestRecvPort.Close(__ctx1__, __seg__); LeaveRequestRecvPort = 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__.__MsgLeaveRequest); __edata.PortName = @"LeaveRequestRecvPort"; Tracker.FireEvent(__eventLocations[2],__edata,_stateMgrs[1].TrackDataStream ); } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 5; case 5: if ( !PreProgressInc( __seg__, __ctx__, 6 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[3],__eventData[2],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 6; case 6: __condition__ = (System.Int32)__ctx1__.__MsgLeaveRequest.part.GetDistinguishedField("Details.NoOfDays") > 21; if (!__condition__) { if ( !PostProgressInc( __seg__, __ctx__, 15 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 15; } if ( !PostProgressInc( __seg__, __ctx__, 7 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 7; case 7: if ( !PreProgressInc( __seg__, __ctx__, 8 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[4],__eventData[3],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 8; case 8: { __messagetype_LeaveProject_LeaveResponseSchema __MsgLeaveResponse = new __messagetype_LeaveProject_LeaveResponseSchema("MsgLeaveResponse", __ctx1__); ApplyTransform(typeof(LeaveProject.LeaveRequestToResponse), new object[] {__MsgLeaveResponse.part}, new object[] {__ctx1__.__MsgLeaveRequest.part}); if (__ctx1__.__MsgLeaveResponse != null) __ctx1__.UnrefMessage(__ctx1__.__MsgLeaveResponse); __ctx1__.__MsgLeaveResponse = __MsgLeaveResponse; __ctx1__.RefMessage(__ctx1__.__MsgLeaveResponse); } __ctx1__.__MsgLeaveResponse.ConstructionCompleteEvent(true); if ( !PostProgressInc( __seg__, __ctx__, 9 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 9; case 9: if ( !PreProgressInc( __seg__, __ctx__, 10 ) ) 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__.__MsgLeaveResponse); __edata.Messages.Add(__ctx1__.__MsgLeaveRequest); Tracker.FireEvent(__eventLocations[5],__edata,_stateMgrs[1].TrackDataStream ); } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 10; case 10: if ( !PreProgressInc( __seg__, __ctx__, 11 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[6],__eventData[4],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 11; case 11: if (!__ctx1__.PrepareToPendingCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 12 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 12; case 12: if ( !PreProgressInc( __seg__, __ctx__, 13 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; LeaveAcceptSendPort.SendMessage(0, __ctx1__.__MsgLeaveResponse, null, null, __ctx1__, __seg__ , Microsoft.XLANGs.Core.ActivityFlags.NextActivityPersists ); if ((stopOn & Microsoft.XLANGs.Core.StopConditions.OutgoingRqst) != 0) return Microsoft.XLANGs.Core.StopConditions.OutgoingRqst; goto case 13; case 13: if ( !PreProgressInc( __seg__, __ctx__, 14 ) ) 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__.__MsgLeaveResponse); __edata.PortName = @"LeaveAcceptSendPort"; Tracker.FireEvent(__eventLocations[7],__edata,_stateMgrs[1].TrackDataStream ); } if (__ctx1__ != null && __ctx1__.__MsgLeaveResponse != null) { __ctx1__.UnrefMessage(__ctx1__.__MsgLeaveResponse); __ctx1__.__MsgLeaveResponse = null; } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 14; case 14: if ( !PostProgressInc( __seg__, __ctx__, 26 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 26; case 15: if ( !PreProgressInc( __seg__, __ctx__, 16 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[8],__eventData[4],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 16; case 16: if (!__ctx1__.PrepareToPendingCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 17 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 17; case 17: if ( !PreProgressInc( __seg__, __ctx__, 18 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; LeaveRequestToHRPort.SendMessage(0, __ctx1__.__MsgLeaveRequest, null, new Microsoft.XLANGs.Core.Correlation[] { __ctx1__.__Correlation_1 }, __ctx1__, __seg__ , Microsoft.XLANGs.Core.ActivityFlags.None ); if ((stopOn & Microsoft.XLANGs.Core.StopConditions.OutgoingRqst) != 0) return Microsoft.XLANGs.Core.StopConditions.OutgoingRqst; goto case 18; case 18: if ( !PreProgressInc( __seg__, __ctx__, 19 ) ) 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__.__MsgLeaveRequest); __edata.PortName = @"LeaveRequestToHRPort"; Tracker.FireEvent(__eventLocations[9],__edata,_stateMgrs[1].TrackDataStream ); } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 19; case 19: if ( !PreProgressInc( __seg__, __ctx__, 20 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[10],__eventData[1],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 20; case 20: if (!ResponseFromHR.GetMessageId(__ctx1__.__subWrapper1.getSubscription(this), __seg__, __ctx1__, out __msgEnv__, _locations[0])) return Microsoft.XLANGs.Core.StopConditions.Blocked; if (__ctx1__.__MsgLeaveRequest != null) __ctx1__.UnrefMessage(__ctx1__.__MsgLeaveRequest); __ctx1__.__MsgLeaveRequest = new __messagetype_LeaveProject_LeaveRequestSchema("MsgLeaveRequest", __ctx1__); __ctx1__.RefMessage(__ctx1__.__MsgLeaveRequest); ResponseFromHR.ReceiveMessage(0, __msgEnv__, __ctx1__.__MsgLeaveRequest, null, (Microsoft.XLANGs.Core.Context)_stateMgrs[1], __seg__); if ( !PostProgressInc( __seg__, __ctx__, 21 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 21; case 21: if ( !PreProgressInc( __seg__, __ctx__, 22 ) ) 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__.__MsgLeaveRequest); __edata.PortName = @"ResponseFromHR"; Tracker.FireEvent(__eventLocations[11],__edata,_stateMgrs[1].TrackDataStream ); } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 22; case 22: if ( !PreProgressInc( __seg__, __ctx__, 23 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[12],__eventData[4],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 23; case 23: if (!__ctx1__.PrepareToPendingCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 24 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 24; case 24: if ( !PreProgressInc( __seg__, __ctx__, 25 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; SendToEmp.SendMessage(0, __ctx1__.__MsgLeaveRequest, null, null, __ctx1__, __seg__ , Microsoft.XLANGs.Core.ActivityFlags.NextActivityPersists ); if ((stopOn & Microsoft.XLANGs.Core.StopConditions.OutgoingRqst) != 0) return Microsoft.XLANGs.Core.StopConditions.OutgoingRqst; goto case 25; case 25: if ( !PreProgressInc( __seg__, __ctx__, 26 ) ) 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__.__MsgLeaveRequest); __edata.PortName = @"SendToEmp"; Tracker.FireEvent(__eventLocations[13],__edata,_stateMgrs[1].TrackDataStream ); } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 26; case 26: if ( !PreProgressInc( __seg__, __ctx__, 27 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; if (__ctx1__ != null && __ctx1__.__subWrapper1 != null) { __ctx1__.__subWrapper1.Destroy(this, __ctx1__); __ctx1__.__subWrapper1 = null; } if (__ctx1__ != null && __ctx1__.__Correlation_1 != null) __ctx1__.__Correlation_1 = null; if (__ctx1__ != null && __ctx1__.__MsgLeaveRequest != null) { __ctx1__.UnrefMessage(__ctx1__.__MsgLeaveRequest); __ctx1__.__MsgLeaveRequest = null; } if (SendToEmp != null) { SendToEmp.Close(__ctx1__, __seg__); SendToEmp = null; } if (ResponseFromHR != null) { ResponseFromHR.Close(__ctx1__, __seg__); ResponseFromHR = null; } if (LeaveRequestToHRPort != null) { LeaveRequestToHRPort.Close(__ctx1__, __seg__); LeaveRequestToHRPort = null; } if (LeaveAcceptSendPort != null) { LeaveAcceptSendPort.Close(__ctx1__, __seg__); LeaveAcceptSendPort = null; } Tracker.FireEvent(__eventLocations[14],__eventData[5],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 27; case 27: if ( !PreProgressInc( __seg__, __ctx__, 28 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[15],__eventData[6],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 28; case 28: if (!__ctx1__.CleanupAndPrepareToCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 29 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 29; case 29: if ( !PreProgressInc( __seg__, __ctx__, 30 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; __ctx1__.OnCommit(); goto case 30; case 30: __seg__.SegmentDone(); _segments[0].PredecessorDone(this); break; } return Microsoft.XLANGs.Core.StopConditions.Completed; }
public LeaveResponseSchemaPortType(LeaveResponseSchemaPortType p) : base(p) { }
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]; __LeaveMainOrch_root_0 __ctx0__ = (__LeaveMainOrch_root_0)_stateMgrs[0]; __LeaveMainOrch_1 __ctx1__ = (__LeaveMainOrch_1)_stateMgrs[1]; switch (__seg__.Progress) { case 0: LeaveRequestRecvPort = new LeaveRequestSchemaPortType(0, this); LeaveAcceptSendPort = new LeaveResponseSchemaPortType(1, this); LeaveRequestToHRPort = new LeaveRequestSchemaPortType(2, this); ResponseFromHR = new ReceivedFromHR(3, this); SendToEmp = new SendToEmpPortType(4, this); __ctx__.PrologueCompleted = true; __ctx0__.__subWrapper0 = new Microsoft.XLANGs.Core.SubscriptionWrapper(ActivationSubGuids[0], LeaveRequestRecvPort, 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 __LeaveMainOrch_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; }