コード例 #1
0
        internal static UserInvitation TransformToUserInvitation(UserInvitationsTableEntity userInvitationTableEntity, string accountAtribute = null)
        {
            UserInvitation userInvitation = null;

            if (userInvitationTableEntity != null)
            {
                userInvitation = new UserInvitation
                {
                    Email         = userInvitationTableEntity.Email,
                    FirstName     = userInvitationTableEntity.FirstName,
                    LastName      = userInvitationTableEntity.LastName,
                    Role          = userInvitationTableEntity.Role,
                    InvitationKey = userInvitationTableEntity.InvitationKey,
                    Owner         = userInvitationTableEntity.Owner
                };

                if (accountAtribute != null)
                {
                    var account = AccountManager.GetAccount(accountAtribute);

                    userInvitation.AccountID      = account.AccountID.ToString();
                    userInvitation.AccountName    = account.AccountName;
                    userInvitation.AccountNameKey = account.AccountNameKey;
                    userInvitation.AccountLogoUrl = ""; //<-- To Add
                }
            }

            return(userInvitation);
        }
コード例 #2
0
        internal static string StoreInvitedUser(string accountID, string storagePartition, string email, string firstName, string lastName, string roleName, bool isOwner)
        {
            var invitedAccountUser = new UserInvitationsTableEntity(accountID, storagePartition);

            invitedAccountUser.Email     = email;
            invitedAccountUser.FirstName = firstName;
            invitedAccountUser.LastName  = lastName;
            invitedAccountUser.Role      = roleName;
            invitedAccountUser.Owner     = isOwner;

            TableOperation operation = TableOperation.Insert((invitedAccountUser as TableEntity));

            invitedAccountUser.cloudTable.Execute(operation);

            return(invitedAccountUser.InvitationKey);
        }
コード例 #3
0
        internal static UserInvitationsTableEntity GetInvitedUser(string accountID, string storagePartition, string invitationKey)
        {
            //CloudTableClient cloudTableClient = Sahara.Core.Settings.Azure.Storage.StorageConnections.AccountsStorage.CreateCloudTableClient();
            CloudTableClient cloudTableClient = Settings.Azure.Storage.GetStoragePartitionAccount(storagePartition).CreateCloudTableClient();

            //Create and set retry policy
            //IRetryPolicy exponentialRetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(1), 4);
            IRetryPolicy linearRetryPolicy = new LinearRetry(TimeSpan.FromSeconds(1), 3);

            cloudTableClient.DefaultRequestOptions.RetryPolicy = linearRetryPolicy;

            CloudTable cloudTable = cloudTableClient.GetTableReference(Sahara.Core.Common.Methods.SchemaNames.AccountIdToTableStorageName(accountID) + UserInvitationsTableName);

            cloudTable.CreateIfNotExists();

            TableQuery <UserInvitationsTableEntity> query = new TableQuery <UserInvitationsTableEntity>()
                                                            .Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, invitationKey));

            UserInvitationsTableEntity invitedAccountUser = cloudTable.ExecuteQuery(query).FirstOrDefault();

            return(invitedAccountUser);
        }