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)); }
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}"); }
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); }