File: System\Runtime\DurableInstancing\InstanceHandleConflictException.cs
Project: ndp\cdf\src\NetFx40\System.Runtime.DurableInstancing\System.Runtime.DurableInstancing.csproj (System.Runtime.DurableInstancing)
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------
namespace System.Runtime.DurableInstancing
{
    using System.Diagnostics.CodeAnalysis;
    using System.Runtime.Serialization;
    using System.Security;
    using System.Xml.Linq;
 
    [Serializable]
    public class InstanceHandleConflictException : InstancePersistenceCommandException
    {
        public InstanceHandleConflictException()
            : this(SRCore.InstanceHandleConflictDefault, null)
        {
        }
 
        public InstanceHandleConflictException(string message)
            : this(message, null)
        {
        }
 
        public InstanceHandleConflictException(string message, Exception innerException)
            : base(message, innerException)
        {
        }
 
        public InstanceHandleConflictException(XName commandName, Guid instanceId)
            : this(commandName, instanceId, null)
        {
        }
 
        public InstanceHandleConflictException(XName commandName, Guid instanceId, Exception innerException)
            : this(commandName, instanceId, ToMessage(instanceId), innerException)
        {
        }
 
        public InstanceHandleConflictException(XName commandName, Guid instanceId, string message, Exception innerException)
            : base(commandName, instanceId, message, innerException)
        {
        }
 
        [SecurityCritical]
        protected InstanceHandleConflictException(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
        }
 
        static string ToMessage(Guid instanceId)
        {
            if (instanceId != Guid.Empty)
            {
                return SRCore.InstanceHandleConflictSpecific(instanceId);
            }
            return SRCore.InstanceHandleConflictDefault;
        }
    }
}