Exemplo n.º 1
0
        /// <summary>
        /// This will update some of the properties in an existing Kensho datafeed.
        /// </summary>
        /// <param name="request">Aa add_datafeed_users request.</param>
        /// <returns>A create_datafeed response.</returns>
        private static KenshoUpdateDatafeedResponse SendUpdateDatafeedRequestAsync(KenshoUpdateDatafeedRequest request)
        {
            KenshoUpdateDatafeedResponse response;

            Console.WriteLine(JObject.Parse(JsonConvert.SerializeObject(request)));
            KenshoBaseResponse responseMessage = kenshoProvider.SendRequestAsync(JsonConvert.SerializeObject(request), UpdateDatafeedString).Result;

            response = new KenshoUpdateDatafeedResponse()
            {
                StatusCode            = responseMessage.StatusCode == HttpStatusCode.NoContent ? HttpStatusCode.OK : responseMessage.StatusCode,
                ContentOrErrorMessage = responseMessage.ContentOrErrorMessage,
            };

            return(response);
        }
Exemplo n.º 2
0
        /// <summary>
        /// This will update the properties of a datafeed in Kensho.
        /// </summary>
        /// <param name="kenshoData">The Kensho configuration data to update.</param>
        /// <returns>KenshoData</returns>
        private static void UpdateDatafeed(KenshoData kenshoData)
        {
            // Create the update request based on the new Kensho properties set on the dataset.
            KenshoUpdateDatafeedRequest updateDatafeedRequest = new KenshoUpdateDatafeedRequest()
            {
                DatafeedId    = kenshoData.DatafeedId.GetValueOrDefault(),
                DatafeedName  = kenshoData.DatafeedName,
                DataStartFrom = kenshoData.DataStartFrom.GetValueOrDefault(),
                //GracePeriodInSeconds = kenshoData.GracePeriodInSeconds.GetValueOrDefault(),
                DisplayColumns = kenshoData.DisplayColumns,
                Metrics        = new List <string>(),
                ParameterList  = kenshoData.ParameterList,
                ScheduleIngestionDelayInSeconds = kenshoData.ScheduleIngestionDelayInSeconds.GetValueOrDefault(),
            };

            KenshoUpdateDatafeedResponse updateDatafeedResponse = SendUpdateDatafeedRequestAsync(updateDatafeedRequest);

            if (updateDatafeedResponse.StatusCode != HttpStatusCode.OK)
            {
                throw new ProtocolViolationException($"update_datafeed call returned error {updateDatafeedResponse.StatusCode}, error message {updateDatafeedResponse.ContentOrErrorMessage}");
            }
        }