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)
        {
            BlobRequestConditions blobRequestConditions = new BlobRequestConditions(this);
            blobRequestConditions.set_IfMatch((ETag?)etag);
            return blobRequestConditions;
        }
        internal virtual void AddConditions(StringBuilder conditions)
        {
            if (this.get_IfMatch().HasValue)
                conditions.Append("IfMatch").Append('=').Append(this.get_IfMatch())
                    .Append(';');
            if (this.get_IfNoneMatch().HasValue)
                conditions.Append("IfNoneMatch").Append('=').Append(this.get_IfNoneMatch())
                    .Append(';');
            if (this.get_IfModifiedSince().HasValue)
                conditions.Append("IfModifiedSince").Append('=').Append(this.get_IfModifiedSince())
                    .Append(';');
            if (this.get_IfUnmodifiedSince().HasValue)
                conditions.Append("IfUnmodifiedSince").Append('=').Append(this.get_IfUnmodifiedSince())
                    .Append(';');
            if (LeaseId != null)
                conditions.Append("LeaseId").Append('=').Append(LeaseId)
                    .Append(';');
            if (base.TagConditions != null)
                conditions.Append("TagConditions").Append('=').Append(base.TagConditions)
                    .Append(';');
        }
    }
}