public static Task<IGroup> CreateGroupAsync(IInternalAsyncDataStore internalDataStore, string groupsHref, IGroup group, Action<GroupCreationOptionsBuilder> creationOptionsAction, CancellationToken cancellationToken)
        {
            var builder = new GroupCreationOptionsBuilder();
            creationOptionsAction(builder);
            var options = builder.Build();

            return internalDataStore.CreateAsync(groupsHref, group, options, cancellationToken);
        }
        public static Task<IAccount> CreateAccountAsync(IInternalAsyncDataStore dataStore, string accountsHref, IAccount account, Action<AccountCreationOptionsBuilder> creationOptionsAction, CancellationToken cancellationToken)
        {
            var builder = new AccountCreationOptionsBuilder();
            creationOptionsAction(builder);
            var options = builder.Build();

            return dataStore.CreateAsync(accountsHref, account, options, cancellationToken);
        }
        public static Task<IGroup> CreateGroupAsync(IInternalAsyncDataStore internalDataStore, string groupsHref, string name, string description, CancellationToken cancellationToken)
        {
            var group = internalDataStore.Instantiate<IGroup>()
                .SetName(name)
                .SetDescription(description)
                .SetStatus(GroupStatus.Enabled);

            return internalDataStore.CreateAsync(groupsHref, group, cancellationToken);
        }
Example #4
0
        public static Task <IAccount> CreateAccountAsync(IInternalAsyncDataStore dataStore, string accountsHref, IAccount account, Action <AccountCreationOptionsBuilder> creationOptionsAction, CancellationToken cancellationToken)
        {
            var builder = new AccountCreationOptionsBuilder();

            creationOptionsAction(builder);
            var options = builder.Build();

            return(dataStore.CreateAsync(accountsHref, account, options, cancellationToken));
        }
Example #5
0
        public static Task <IGroup> CreateGroupAsync(IInternalAsyncDataStore internalDataStore, string groupsHref, string name, string description, CancellationToken cancellationToken)
        {
            var group = internalDataStore.Instantiate <IGroup>()
                        .SetName(name)
                        .SetDescription(description)
                        .SetStatus(GroupStatus.Enabled);

            return(internalDataStore.CreateAsync(groupsHref, group, cancellationToken));
        }
Example #6
0
        public static Task <IGroup> CreateGroupAsync(IInternalAsyncDataStore internalDataStore, string groupsHref, IGroup group, Action <GroupCreationOptionsBuilder> creationOptionsAction, CancellationToken cancellationToken)
        {
            var builder = new GroupCreationOptionsBuilder();

            creationOptionsAction(builder);
            var options = builder.Build();

            return(internalDataStore.CreateAsync(groupsHref, group, options, cancellationToken));
        }
Example #7
0
        /// <summary>
        /// Creates a new Account Store Mapping.
        /// </summary>
        /// <typeparam name="TMapping">The Account Store Mapping type.</typeparam>
        /// <param name="container">The Account Store container.</param>
        /// <param name="internalDataStore">The internal data store.</param>
        /// <param name="mapping">The new mapping to create.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <returns>The new <see cref="IAccountStoreMapping"/>.</returns>
        public static async Task <TMapping> CreateAccountStoreMappingAsync <TMapping>(
            IAccountStoreContainer <TMapping> container,
            IInternalAsyncDataStore internalDataStore,
            IAccountStoreMapping <TMapping> mapping,
            CancellationToken cancellationToken)
            where TMapping : class, IAccountStoreMapping <TMapping>
        {
            SetContainer(mapping, container);
            var href = ResolveEndpointHref(container);

            return((TMapping)(await internalDataStore.CreateAsync(href, mapping, cancellationToken).ConfigureAwait(false)));
        }
Example #8
0
        public static Task <IGroupMembership> CreateAsync(IAccount account, IGroup group, IInternalAsyncDataStore dataStore, CancellationToken cancellationToken)
        {
            if (string.IsNullOrEmpty(account.Href))
            {
                throw new ApplicationException("You must persist the account first before assigning it to a group.");
            }

            if (string.IsNullOrEmpty(group.Href))
            {
                throw new ApplicationException("You must persist the group first because assigning it to a group.");
            }

            var groupMembership = (DefaultGroupMembership)dataStore.Instantiate <IGroupMembership>();

            groupMembership.SetGroup(group);
            groupMembership.SetAccount(account);

            var href = "/groupMemberships";

            return(dataStore.CreateAsync <IGroupMembership>(href, groupMembership, cancellationToken));
        }
 public static Task<IGroup> CreateGroupAsync(IInternalAsyncDataStore internalDataStore, string groupsHref, IGroup group, IGroupCreationOptions creationOptions, CancellationToken cancellationToken)
     => internalDataStore.CreateAsync(groupsHref, group, creationOptions, cancellationToken);
Example #10
0
 public static Task <IAccount> CreateAccountAsync(IInternalAsyncDataStore dataStore, string accountsHref, IAccount account, CancellationToken cancellationToken)
 => dataStore.CreateAsync(accountsHref, account, cancellationToken);
        public static Task<IGroupMembership> CreateAsync(IAccount account, IGroup group, IInternalAsyncDataStore dataStore, CancellationToken cancellationToken)
        {
            if (string.IsNullOrEmpty(account.Href))
            {
                throw new ApplicationException("You must persist the account first before assigning it to a group.");
            }

            if (string.IsNullOrEmpty(group.Href))
            {
                throw new ApplicationException("You must persist the group first because assigning it to a group.");
            }

            var groupMembership = (DefaultGroupMembership)dataStore.Instantiate<IGroupMembership>();
            groupMembership.SetGroup(group);
            groupMembership.SetAccount(account);

            var href = "/groupMemberships";

            return dataStore.CreateAsync<IGroupMembership>(href, groupMembership, cancellationToken);
        }
Example #12
0
 public static Task <IGroup> CreateGroupAsync(IInternalAsyncDataStore internalDataStore, string groupsHref, IGroup group, IGroupCreationOptions creationOptions, CancellationToken cancellationToken)
 => internalDataStore.CreateAsync(groupsHref, group, creationOptions, cancellationToken);
 public static Task<IAccount> CreateAccountAsync(IInternalAsyncDataStore dataStore, string accountsHref, IAccount account, CancellationToken cancellationToken)
     => dataStore.CreateAsync(accountsHref, account, cancellationToken);