Пример #1
0
        public VideoModel GetVideo(Guid id, DateTime?inPoint = null, DateTime?outPoint              = null, bool?audioOnly = null, bool?autoStart = null, bool?statsEnabled = false,
                                   bool?processLogs          = null, string requestedUsersIPAddress = null, bool?noCache   = false)
        {
            var client  = _restClientWrapper.GetClient(_configuration.IasBaseUrl);
            var request = _restClientWrapper.AuthRestRequest("api/video/{id}", Method.GET, _configuration.IasAuthKey);

            request.AddUrlSegment("id", id.ToString());
            if (inPoint.HasValue)
            {
                request.AddParameter("in", inPoint.ToISO8601String());
            }
            if (outPoint.HasValue)
            {
                request.AddParameter("out", outPoint.ToISO8601String());
            }
            if (audioOnly.HasValue)
            {
                request.AddParameter("audioOnly", audioOnly.Value);
            }
            if (autoStart.HasValue)
            {
                request.AddParameter("autoStart", autoStart.Value);
            }
            if (processLogs.HasValue)
            {
                request.AddParameter("processLogs", processLogs.Value);
            }
            if (noCache.HasValue)
            {
                request.AddParameter("noCache", noCache);
            }
            if (statsEnabled.HasValue)
            {
                request.AddParameter("statsEnabled", statsEnabled.Value);
            }
            if (!string.IsNullOrWhiteSpace(requestedUsersIPAddress))
            {
                request.AddParameter("requestedUsersIPAddress", requestedUsersIPAddress);
            }

            request.AddParameter("format", "json");

            var response = client.Execute(request);

            if (response.StatusCode == HttpStatusCode.NotFound)
            {
                return(null);
            }

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new RestSharpException(response);
            }

            var videoModel = VideoTransforms.Transform(response.Content);

            return(videoModel.Event.States.RecordedState == RecordedEventState.REVOKE ? null : videoModel);
        }
Пример #2
0
        public VideoCollectionModel Search(string keywords, int?memberId, string house, string business, DateTime?from, DateTime?to, int pageNum, bool isMemberKeywordSearch, bool archiveOnly)
        {
            var client  = _restClientWrapper.GetClient(_configuration.IasBaseUrl);
            var request = _restClientWrapper.AuthRestRequest("api/search/", Method.GET, _configuration.IasAuthKey);

            if (keywords.HasValue())
            {
                request.AddParameter("keywords", keywords);
            }

            if (house.HasValue())
            {
                request.AddParameter("house", house);
            }

            if (business.HasValue())
            {
                request.AddParameter("business", business);
            }

            if (memberId.HasValue)
            {
                request.AddParameter("memberId", memberId);
            }

            if (from.HasValue)
            {
                request.AddParameter("from", from.ToISO8601String());
            }

            if (to.HasValue)
            {
                request.AddParameter("to", to.ToISO8601String());
            }

            if (isMemberKeywordSearch)
            {
                request.AddParameter("isMemberKeywordSearch", true);
            }

            request.AddParameter("archiveOnly", archiveOnly);
            request.AddParameter("format", "json");
            request.AddParameter("pageNumber", pageNum);

            var response = client.Execute(request);

            if (response.StatusCode == HttpStatusCode.NotFound)
            {
                return(null);
            }
            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new RestSharpException(response);
            }

            return(VideoTransforms.TransformArray(response.Content));
        }
Пример #3
0
        public VideoCollectionModel GetRecentlyArchived(EventFilter eventFilter = EventFilter.COMMONS, int numEvents = 10)
        {
            var client  = _restClientWrapper.GetClient(_configuration.IasBaseUrl);
            var request = _restClientWrapper.AuthRestRequest("api/event/archived/{numEvents}/filter/{eventFilter}", Method.GET, _configuration.IasAuthKey);

            request.AddUrlSegment("numEvents", numEvents.ToString());
            request.AddUrlSegment("eventFilter", eventFilter.ToString());

            var response = client.Execute(request);

            if (response.StatusCode.Equals(HttpStatusCode.NotFound))
            {
                return(null);
            }
            if (!response.StatusCode.Equals(HttpStatusCode.OK))
            {
                throw new RestSharpException(response);
            }

            return(VideoTransforms.TransformArray(response.Content));
        }
Пример #4
0
        public VideoModel GetLegacyVideo(int id)
        {
            var client  = _restClientWrapper.GetClient(_configuration.IasBaseUrl);
            var request = _restClientWrapper.AuthRestRequest("api/video/legacy/{id}", Method.GET, _configuration.IasAuthKey);

            request.AddUrlSegment("id", id.ToString(CultureInfo.InvariantCulture));
            request.AddParameter("format", "json");

            var response = client.Execute(request);

            if (response.StatusCode == HttpStatusCode.NotFound)
            {
                return(null);
            }

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new RestSharpException(response);
            }

            return(VideoTransforms.Transform(response.Content));
        }