public void AddCollaborator(Board board, Collaborator collaborator)
        {
            var memberships = GetTableReference("memberships");

            var userEntry = new AzureBoardMembership("user-" + collaborator.UserKey, "board-" + board.BoardKey, board.Name, false);

            memberships.ExecuteAsync(TableOperation.Insert(userEntry));

            var boardEntry = new AzureBoardMembership("board-" + board.BoardKey, "user-" + collaborator.UserKey, collaborator.DisplayName, false);

            memberships.ExecuteAsync(TableOperation.Insert(boardEntry));
        }
        public Board CreateBoard(Collaborator user, string boardName)
        {
            var boardId = Guid.NewGuid();

            var memberships = GetTableReference("Memberships");

            var userEntry = new AzureBoardMembership("user-" + user.UserKey, "board-" + boardId.ToString(), boardName, true);

            memberships.ExecuteAsync(TableOperation.Insert(userEntry));
            var boardEntry = new AzureBoardMembership("board-" + boardId.ToString(), "user-" + user.UserKey, user.DisplayName, true);

            memberships.ExecuteAsync(TableOperation.Insert(boardEntry));

            var boardEntity = new AzureBoard(boardId, boardName);

            GetTableReference("Boards")
            .ExecuteAsync(TableOperation.Insert(boardEntity));

            return(new Board
            {
                Name = boardName,
                BoardKey = boardEntity.RowKey
            });
        }