protected IEnumerator <IAsyncResult> SetTableAclImpl(IAccountIdentifier identifier, string account, string tableName, ContainerAclSettings acl, TimeSpan timeout, RequestContext requestContext, AsyncIteratorContext <NoResults> context) { byte[] numArray; Duration startingNow = Duration.StartingNow; if (identifier == null) { throw new ArgumentNullException("identifier"); } if (string.IsNullOrEmpty(account)) { throw new ArgumentException("account", "Cannot be null or empty"); } if (string.IsNullOrEmpty(tableName)) { throw new ArgumentException("tableName", "Cannot be null or empty"); } if (acl == null) { throw new ArgumentNullException("acl"); } if (acl.SASIdentifiers == null) { throw new ArgumentNullException("sasidentifiers"); } if (timeout <= TimeSpan.Zero) { throw new TimeoutException("Timed out in SetTableAcl"); } RemainingTime remainingTime = new RemainingTime(timeout); if (identifier is TableSignedAccessAccountIdentifier || identifier is AccountSasAccessIdentifier) { throw new NephosUnauthorizedAccessException("Signed access not supported for this request", AuthorizationFailureReason.InvalidOperationSAS); } IAsyncResult asyncResult = this.authorizationManager.BeginCheckAccess(identifier, account, tableName, null, PermissionLevel.WriteAcl, remainingTime, context.GetResumeCallback(), context.GetResumeState("TableManager.SetTableAclImpl")); yield return(asyncResult); this.authorizationManager.EndCheckAccess(asyncResult); using (IStorageAccount storageAccount = this.storageManager.CreateAccountInstance(account)) { using (ITableContainer tableContainer = storageAccount.CreateTableContainerInstance(tableName)) { acl.EncodeToServiceMetadata(out numArray); ContainerCondition containerCondition = null; tableContainer.ServiceMetadata = numArray; tableContainer.Timeout = startingNow.Remaining(timeout); asyncResult = tableContainer.BeginSetProperties(ContainerPropertyNames.ServiceMetadata, containerCondition, context.GetResumeCallback(), context.GetResumeState("TableManager.SetTableAclImpl")); yield return(asyncResult); tableContainer.EndSetProperties(asyncResult); } } }
/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 36, Configuration.FieldSeparator), Id, SetIdSpm.HasValue ? SetIdSpm.Value.ToString(culture) : null, SpecimenId?.ToDelimitedString(), SpecimenParentIds != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenParentIds.Select(x => x.ToDelimitedString())) : null, SpecimenType?.ToDelimitedString(), SpecimenTypeModifier != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenTypeModifier.Select(x => x.ToDelimitedString())) : null, SpecimenAdditives != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenAdditives.Select(x => x.ToDelimitedString())) : null, SpecimenCollectionMethod?.ToDelimitedString(), SpecimenSourceSite?.ToDelimitedString(), SpecimenSourceSiteModifier != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenSourceSiteModifier.Select(x => x.ToDelimitedString())) : null, SpecimenCollectionSite?.ToDelimitedString(), SpecimenRole != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenRole.Select(x => x.ToDelimitedString())) : null, SpecimenCollectionAmount?.ToDelimitedString(), GroupedSpecimenCount.HasValue ? GroupedSpecimenCount.Value.ToString(Consts.NumericFormat, culture) : null, SpecimenDescription != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenDescription) : null, SpecimenHandlingCode != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenHandlingCode.Select(x => x.ToDelimitedString())) : null, SpecimenRiskCode != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenRiskCode.Select(x => x.ToDelimitedString())) : null, SpecimenCollectionDateTime?.ToDelimitedString(), SpecimenReceivedDateTime.HasValue ? SpecimenReceivedDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, SpecimenExpirationDateTime.HasValue ? SpecimenExpirationDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, SpecimenAvailability, SpecimenRejectReason != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenRejectReason.Select(x => x.ToDelimitedString())) : null, SpecimenQuality?.ToDelimitedString(), SpecimenAppropriateness?.ToDelimitedString(), SpecimenCondition != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenCondition.Select(x => x.ToDelimitedString())) : null, SpecimenCurrentQuantity?.ToDelimitedString(), NumberOfSpecimenContainers.HasValue ? NumberOfSpecimenContainers.Value.ToString(Consts.NumericFormat, culture) : null, ContainerType?.ToDelimitedString(), ContainerCondition?.ToDelimitedString(), SpecimenChildRole?.ToDelimitedString(), AccessionId != null ? string.Join(Configuration.FieldRepeatSeparator, AccessionId.Select(x => x.ToDelimitedString())) : null, OtherSpecimenId != null ? string.Join(Configuration.FieldRepeatSeparator, OtherSpecimenId.Select(x => x.ToDelimitedString())) : null, ShipmentId?.ToDelimitedString(), CultureStartDateTime.HasValue ? CultureStartDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, CultureFinalDateTime.HasValue ? CultureFinalDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ActionCode ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }
public abstract IAsyncResult BeginChangeContainerLease(IAccountIdentifier identifier, string account, string container, Guid leaseId, Guid proposedLeaseId, ContainerCondition condition, TimeSpan timeout, RequestContext requestContext, AsyncCallback callback, object state);
public abstract IAsyncResult BeginRenewContainerLease(IAccountIdentifier identifier, string account, string container, LeaseType leaseType, Guid leaseId, TimeSpan leaseDuration, ContainerCondition condition, TimeSpan timeout, RequestContext requestContext, AsyncCallback callback, object state);
public abstract IAsyncResult BeginBreakContainerLease(IAccountIdentifier identifier, string account, string container, TimeSpan?leaseBreakPeriod, ContainerCondition condition, TimeSpan timeout, RequestContext requestContext, AsyncCallback callback, object state);