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); }
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); }
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); }