Ejemplo n.º 1
0
        /// <summary>
        /// Connects member or observer with specified name to the Scrum team with specified name.
        /// </summary>
        /// <param name="teamName">Name of the Scrum team.</param>
        /// <param name="memberName">Name of the member or observer.</param>
        /// <param name="asObserver">If set to <c>true</c> then connects as observer; otherwise as member.</param>
        /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
        /// <returns>
        /// The Scrum team the member or observer joined to.
        /// </returns>
        public Task <ScrumTeam> JoinTeam(string teamName, string memberName, bool asObserver, CancellationToken cancellationToken)
        {
            return(InvokeOperation(async() =>
            {
                await EnsureConnected(cancellationToken);
                var result = await _hubConnection.InvokeAsync <ScrumTeam>("JoinTeam", teamName, memberName, asObserver, cancellationToken);

                ScrumTeamMapper.ConvertScrumTeam(result);
                return result;
            }));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates new Scrum team with specified team name and Scrum master name.
        /// </summary>
        /// <param name="teamName">Name of the Scrum team.</param>
        /// <param name="scrumMasterName">Name of the Scrum master.</param>
        /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
        /// <returns>
        /// Created Scrum team.
        /// </returns>
        public Task <ScrumTeam> CreateTeam(string teamName, string scrumMasterName, CancellationToken cancellationToken)
        {
            return(InvokeOperation(async() =>
            {
                await EnsureConnected(cancellationToken);
                var result = await _hubConnection.InvokeAsync <ScrumTeam>("CreateTeam", teamName, scrumMasterName, cancellationToken);

                ScrumTeamMapper.ConvertScrumTeam(result);
                return result;
            }));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Creates new Scrum team with specified team name and Scrum master name.
        /// </summary>
        /// <param name="teamName">Name of the Scrum team.</param>
        /// <param name="scrumMasterName">Name of the Scrum master.</param>
        /// <param name="deck">Selected deck of estimation cards to use in the team.</param>
        /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
        /// <returns>
        /// Created Scrum team.
        /// </returns>
        public async Task <TeamResult> CreateTeam(string teamName, string scrumMasterName, Deck deck, CancellationToken cancellationToken)
        {
            var encodedTeamName        = _urlEncoder.Encode(teamName);
            var encodedScrumMasterName = _urlEncoder.Encode(scrumMasterName);
            var uri = $"CreateTeam?teamName={encodedTeamName}&scrumMasterName={encodedScrumMasterName}&deck={deck}";

            var result = await GetJsonAsync <TeamResult>(uri, cancellationToken);

            ScrumTeamMapper.ConvertScrumTeam(result.ScrumTeam);
            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Reconnects member with specified name to the Scrum team with specified name.
        /// </summary>
        /// <param name="teamName">Name of the Scrum team.</param>
        /// <param name="memberName">Name of the member.</param>
        /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
        /// <returns>
        /// The Scrum team the member or observer reconnected to.
        /// </returns>
        /// <remarks>
        /// This operation is used to resynchronize client and server. Current status of ScrumTeam is returned and message queue for the member is cleared.
        /// </remarks>
        public Task <ReconnectTeamResult> ReconnectTeam(string teamName, string memberName, CancellationToken cancellationToken)
        {
            return(InvokeOperation(async() =>
            {
                await EnsureConnected(cancellationToken);
                var result = await _hubConnection.InvokeAsync <ReconnectTeamResult>("ReconnectTeam", teamName, memberName, cancellationToken);

                ScrumTeamMapper.ConvertScrumTeam(result.ScrumTeam);
                ScrumTeamMapper.ConvertEstimation(result.SelectedEstimation);
                return result;
            }));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Reconnects member with specified name to the Scrum team with specified name.
        /// </summary>
        /// <param name="teamName">Name of the Scrum team.</param>
        /// <param name="memberName">Name of the member.</param>
        /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
        /// <returns>
        /// The Scrum team the member or observer reconnected to.
        /// </returns>
        /// <remarks>
        /// This operation is used to resynchronize client and server. Current status of ScrumTeam is returned and message queue for the member is cleared.
        /// </remarks>
        public async Task <ReconnectTeamResult> ReconnectTeam(string teamName, string memberName, CancellationToken cancellationToken)
        {
            var encodedTeamName   = _urlEncoder.Encode(teamName);
            var encodedMemberName = _urlEncoder.Encode(memberName);
            var uri = $"ReconnectTeam?teamName={encodedTeamName}&memberName={encodedMemberName}";

            var result = await GetJsonAsync <ReconnectTeamResult>(uri, cancellationToken);

            ScrumTeamMapper.ConvertScrumTeam(result.ScrumTeam);
            ScrumTeamMapper.ConvertEstimation(result.SelectedEstimation);
            return(result);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Connects member or observer with specified name to the Scrum team with specified name.
        /// </summary>
        /// <param name="teamName">Name of the Scrum team.</param>
        /// <param name="memberName">Name of the member or observer.</param>
        /// <param name="asObserver">If set to <c>true</c> then connects as observer; otherwise as member.</param>
        /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
        /// <returns>
        /// The Scrum team the member or observer joined to.
        /// </returns>
        public async Task <TeamResult> JoinTeam(string teamName, string memberName, bool asObserver, CancellationToken cancellationToken)
        {
            var encodedTeamName   = _urlEncoder.Encode(teamName);
            var encodedMemberName = _urlEncoder.Encode(memberName);
            var encodedAsObserver = asObserver.ToString(CultureInfo.InvariantCulture);
            var uri = $"JoinTeam?teamName={encodedTeamName}&memberName={encodedMemberName}&asObserver={encodedAsObserver}";

            var result = await GetJsonAsync <TeamResult>(uri, cancellationToken);

            ScrumTeamMapper.ConvertScrumTeam(result.ScrumTeam);
            return(result);
        }