File: System\Activities\Runtime\CollapseTemporaryResolutionLocationWorkItem.cs
Project: ndp\cdf\src\NetFx40\System.Activities\System.Activities.csproj (System.Activities)
// <copyright file="CollapseTemporaryResolutionLocationWorkItem.cs" company="Microsoft Corporation">
// Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
namespace System.Activities.Runtime
{
    using System.Activities.Tracking;
    using System.Collections.Generic;
    using System.Runtime;
    using System.Runtime.Serialization;
 
    [DataContract]
    internal class CollapseTemporaryResolutionLocationWorkItem : WorkItem
    {
        private Location location;
 
        public CollapseTemporaryResolutionLocationWorkItem(Location location, ActivityInstance instance)
            : base(instance)
        {
            this.location = location;
        }
 
        public override bool IsValid
        {
            get { return true; }
        }
 
        public override ActivityInstance PropertyManagerOwner
        {
            get { return null; }
        }
 
        [DataMember(EmitDefaultValue = false, Name = "location")]
        internal Location SerializedLocation
        {
            get { return this.location; }
            set { this.location = value; }
        }
       
        public override void TraceScheduled()
        {
            TraceRuntimeWorkItemScheduled();
        }
 
        public override void TraceStarting()
        {
            TraceRuntimeWorkItemStarting();
        }
 
        public override void TraceCompleted()
        {
            TraceRuntimeWorkItemCompleted();
        }
 
        public override bool Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
        {
            this.location.TemporaryResolutionEnvironment.CollapseTemporaryResolutionLocation(this.location);
            return true;
        }
 
        public override void PostProcess(ActivityExecutor executor)
        {
            return;
        }
    }
}