CopyStatusExtensions
using System;
namespace Azure.Storage.Blobs.Models
{
    internal static class CopyStatusExtensions
    {
        public static string ToSerialString(this CopyStatus value)
        {
            switch (value) {
            case CopyStatus.Pending:
                return "pending";
            case CopyStatus.Success:
                return "success";
            case CopyStatus.Aborted:
                return "aborted";
            case CopyStatus.Failed:
                return "failed";
            default:
                throw new ArgumentOutOfRangeException("value", value, "Unknown CopyStatus value.");
            }
        }
        public static CopyStatus ToCopyStatus(this string value)
        {
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "pending"))
                return CopyStatus.Pending;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "success"))
                return CopyStatus.Success;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "aborted"))
                return CopyStatus.Aborted;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "failed"))
                return CopyStatus.Failed;
            throw new ArgumentOutOfRangeException("value", value, "Unknown CopyStatus value.");
        }
    }
}