コード例 #1
0
        public async Task <Tuple <bool, int> > UpdateConferenceResponseAsync(ConferenceResponse conference)
        {
            var converted = conference.GetConference;

            var response = await httpClient.PutAsJsonAsync($"/api/Conferences/{conference.ID}", converted);

            if (!response.IsSuccessStatusCode)
            {
                return(new Tuple <bool, int>(false, 0));
            }

            response.EnsureSuccessStatusCode();

            if (conference.Tags != null && conference.Tags.Any())
            {
                var result = UpdateConference_TagsAsync(conference.ID, conference.Tags).Result;
                if (result == false)
                {
                    return(new Tuple <bool, int>(false, -1));
                }
            }


            return(new Tuple <bool, int>(true, conference.ID));
        }
コード例 #2
0
        public async Task <Tuple <bool, int> > CreateConferenceResponseAsync(ConferenceResponse conferenceResponse)
        {
            var converted = conferenceResponse.GetConference;

            var response = CreateConferenceAsync(converted).Result;

            if (response == null)
            {
                return(new Tuple <bool, int>(false, 0));
            }


            if (conferenceResponse.Tags != null && conferenceResponse.Tags.Any())
            {
                foreach (var tag in conferenceResponse.Tags)
                {
                    if (!CreateConference_TagAsync(response.ID, tag).Result.Item1)
                    {
                        return(new Tuple <bool, int>(false, 0));
                    }
                }
            }


            return(new Tuple <bool, int>(true, response.ID));;
        }
コード例 #3
0
        public static ConferenceResponse MapConferenceDetailsToResponseModel(ConferenceDetailsResponse conference)
        {
            var response = new ConferenceResponse
            {
                Id                     = conference.Id,
                CaseName               = conference.Case_name,
                CaseNumber             = conference.Case_number,
                CaseType               = conference.Case_type,
                ScheduledDateTime      = conference.Scheduled_date_time,
                ScheduledDuration      = conference.Scheduled_duration,
                Status                 = GetStatus(conference.Current_status),
                Participants           = MapParticipants(conference),
                ClosedDateTime         = conference.Closed_date_time,
                HearingVenueName       = conference.Hearing_venue_name,
                AudioRecordingRequired = conference.Audio_recording_required,
                HearingRefId           = conference.Hearing_id,
                Endpoints              = MapEndpoints(conference)
            };

            if (conference.Meeting_room != null)
            {
                response.ParticipantUri       = conference.Meeting_room.Participant_uri;
                response.PexipNodeUri         = conference.Meeting_room.Pexip_node;
                response.PexipSelfTestNodeUri = conference.Meeting_room.Pexip_self_test_node;

                ParticipantTilePositionHelper.AssignTilePositions(response.Participants);
            }

            return(response);
        }
        public async Task <ActionResult <ConferenceResponse> > GetConference(int id)
        {
            var conference = await _db.FindAsync <Data.Conference> (id);

            if (conference == null)
            {
                return(NotFound());
            }

            var result = new ConferenceResponse {
                ID   = conference.ID,
                Name = conference.Name
            };

            return(result);
        }
コード例 #5
0
        public void TestGettingTotalCountOfConferences()
        {
            // Arrange

            // The URI we are using in the test
            var requestUri = new Uri("https://localhost/api/admin/status/v1/conference/");

            ConferenceResponse conferencesModel = new ConferenceResponse
            {
                MetaObject = new MetaObject {
                    TotalCount = 15
                }
            };

            // Serialise the object
            var expectedResponse = JsonConvert.SerializeObject(conferencesModel);

            // Set up the mock with the expected response
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(expectedResponse)
            };
            var mockHandler = new Mock <HttpClientHandler>();

            mockHandler
            .Protected()
            .Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.Is <HttpRequestMessage>(message => message.RequestUri == requestUri),
                ItExpr.IsAny <CancellationToken>())
            .Returns(Task.FromResult(mockResponse));

            // Set up the HttpClient using the mock handler object
            HttpClient client = new HttpClient(mockHandler.Object);

            // Initialise an instance of the Participants class for testing using the HttpClient
            IConferences conferences = new Conferences(client, "https://localhost");

            // Act

            var conferencesTotalCount = conferences.GetTotal().Result;

            // Assert

            Assert.True(conferencesTotalCount == 15);
        }
コード例 #6
0
        public async Task <ActionResult <ConferenceResponse> > CreateConference(ConferenceDto input)
        {
            var conference = new Data.Conference
            {
                Name = input.Name
            };

            _db.Conferences.Add(conference);
            await _db.SaveChangesAsync();

            var result = new ConferenceResponse
            {
                ID   = conference.ID,
                Name = conference.Name
            };

            return(CreatedAtAction(nameof(GetConference), new { id = conference.ID }, result));
        }
コード例 #7
0
        public async Task <IActionResult> OnGetAsync(int?conference_id)
        {
            if (conference_id == null)
            {
                return(NotFound());
            }

            if (IdentityClient.GetUserOwnershipAsync(new UserOwnership {
                UserId = User.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier).Value, ConferenceId = conference_id.Value
            }).Result == null)
            {
                return(NotFound());
            }

            Conference = ApiClient.GetConferenceAsync(conference_id.Value).Result;

            if (Conference == null)
            {
                return(NotFound());
            }

            return(Page());
        }