Ejemplo n.º 1
0
        public static Task CreateOrUpdateTypesInOcsAsync(IQiMetadataService metadataService)
        {
            var taskList = new Task[]
            {
                metadataService.CreateOrUpdateTypeAsync(DoubleQiType),
                metadataService.CreateOrUpdateTypeAsync(IntegerQiType),
                metadataService.CreateOrUpdateTypeAsync(StringQiType),
                metadataService.CreateOrUpdateTypeAsync(BlobQiType),
                metadataService.CreateOrUpdateTypeAsync(TimestampQiType)
            };

            return(Task.WhenAll(taskList));
        }
Ejemplo n.º 2
0
        private static async Task DeleteStreamBasedOnPIPointAsync(PIPoint piPoint, IQiMetadataService metadata)
        {
            var id = GetStreamId(piPoint);

            try
            {
                await metadata.GetStreamAsync(id);
            }
            catch (QiHttpClientException ex)
            {
                if (ex.StatusCode == HttpStatusCode.NotFound)
                {
                    Console.WriteLine($"Stream to be deleted not found: {id}.");
                    return;
                }

                throw;
            }

            await metadata.DeleteStreamAsync(id);

            Console.WriteLine($"Deleted stream {id}");
        }
Ejemplo n.º 3
0
        private static async Task CreateStreamBasedOnPIPointAsync(PIPoint piPoint,
                                                                  IEnumerable <string> pointAttributes, IQiMetadataService metadata)
        {
            var otherAttributes = pointAttributes.Where(s => s != PICommonPointAttributes.Descriptor)
                                  .ToDictionary(s => s, s => piPoint.GetAttribute(s).ToString());

            var id       = GetStreamId(piPoint);
            var dataType = PIQiTypes.GetDataType(piPoint.PointType);

            await metadata.CreateOrUpdateStreamAsync(new QiStream()
            {
                Id          = id,
                Name        = piPoint.Name,
                TypeId      = PIQiTypes.GetQiTypeId(dataType),
                Description = piPoint.GetAttribute(PICommonPointAttributes.Descriptor).ToString()
            });

            //write stream metadata from PIPoint attributes
            await metadata.UpdateStreamMetadataAsync(id, otherAttributes);
        }