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); }
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)); }
public DownloadResponseModel CreateDownload(Guid eventId, DateTime startTime, DateTime endTime, string emailAddress, bool audioOnly, string streamUrl = null) { var client = _restClientWrapper.GetClient(_configuration.IasBaseUrl); var request = _restClientWrapper.AuthRestRequest("api/download", Method.POST, _configuration.IasAuthKey); request.AddParameter("EventId", eventId); request.AddParameter("StartTime", startTime.ToISO8601String()); request.AddParameter("EndTime", endTime.ToISO8601String()); request.AddParameter("Email", emailAddress); request.AddParameter("AudioOnly", audioOnly); var response = client.Execute(request); if (response.StatusCode != HttpStatusCode.OK) { throw new RestSharpException(response); } return(DownloadTransforms.Transform(response.Content)); }
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)); }
public IEnumerable <ChannelModel> GetChannels() { var client = _restClientWrapper.GetClient(_configuration.IasBaseUrl); var request = _restClientWrapper.AuthRestRequest("api/channel/getChannels", Method.GET, _configuration.IasAuthKey); var response = client.Execute(request); if (response.StatusCode == HttpStatusCode.NotFound) { return(null); } if (response.StatusCode != HttpStatusCode.OK) { throw new RestSharpException(response); } return(ChannelTransforms.TransformChannels(response.Content)); }
public RecessMessageModel GetRecessMessage(RecessMessageType type) { var client = _restClientWrapper.GetClient(_configuration.IasBaseUrl); var request = _restClientWrapper.AuthRestRequest("api/recess/{type}", Method.GET, _configuration.IasAuthKey); request.AddUrlSegment("type", type.ToString()); var response = client.Execute(request); if (response.StatusCode == HttpStatusCode.NotFound) { return(null); } if (response.StatusCode != HttpStatusCode.OK) { throw new RestSharpException(response); } dynamic json = JObject.Parse(response.Content); var date = json.expireMessage.Value; var message = json.message.Value; return(new RecessMessageModel(date, message)); }