BlobRequestConditions
Specifies blob lease access conditions for a container or blob.
            
                using Azure.Storage.Common;
using System.Text;
namespace Azure.Storage.Blobs.Models
{
    public class BlobRequestConditions : BlobLeaseRequestConditions
    {
        public string LeaseId { get; set; }
        public BlobRequestConditions()
        {
        }
        private BlobRequestConditions(BlobRequestConditions deepCopySource)
            : base(deepCopySource)
        {
            Argument.AssertNotNull(deepCopySource, "deepCopySource");
            LeaseId = deepCopySource.LeaseId;
        }
        internal static BlobRequestConditions CloneOrDefault(BlobRequestConditions deepCopySource)
        {
            if (deepCopySource == null)
                return null;
            return new BlobRequestConditions(deepCopySource);
        }
        public override string ToString()
        {
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append('[').Append(GetType().Name);
            AddConditions(stringBuilder);
            if (stringBuilder[stringBuilder.Length - 1] == ';')
                stringBuilder[stringBuilder.Length - 1] = ']';
            else
                stringBuilder.Append(']');
            return stringBuilder.ToString();
        }
        internal BlobRequestConditions WithIfMatch(ETag etag)
        {
            return new BlobRequestConditions(this) {
                IfMatch = new ETag?(etag)
            };
        }
        internal virtual void AddConditions(StringBuilder conditions)
        {
            if (base.IfMatch.HasValue)
                conditions.Append("IfMatch").Append('=').Append(base.IfMatch)
                    .Append(';');
            if (base.IfNoneMatch.HasValue)
                conditions.Append("IfNoneMatch").Append('=').Append(base.IfNoneMatch)
                    .Append(';');
            if (base.IfModifiedSince.HasValue)
                conditions.Append("IfModifiedSince").Append('=').Append(base.IfModifiedSince)
                    .Append(';');
            if (base.IfUnmodifiedSince.HasValue)
                conditions.Append("IfUnmodifiedSince").Append('=').Append(base.IfUnmodifiedSince)
                    .Append(';');
            if (LeaseId != null)
                conditions.Append("LeaseId").Append('=').Append(LeaseId)
                    .Append(';');
            if (base.TagConditions != null)
                conditions.Append("TagConditions").Append('=').Append(base.TagConditions)
                    .Append(';');
        }
    }
}