private static void Process(List <OBDMessage> messages, Container[] containers) { List <MeasurementAttribute> values = new List <MeasurementAttribute>(); foreach (OBDMessage message in messages) { values.Add(new MeasurementAttribute() { Measurement = message.Value.GetValueOrDefault(), timestamp = message.TimeStamp }); } List <DataValues> dataValues = new List <DataValues>(); for (int i = 0; i < containers.Length; i++) { dataValues.Add(new DataValues() { ContainerId = containers[i].Id, Values = new List <MeasurementAttribute> { values[i] } }); } //client.SendValuesAsync(dataValues.ToArray()); OMFIngressHelper.SendValuesToAllEndPointsAsync(dataValues.ToArray()).Wait(); }
private static void DefineAssets(List <string> pIDs, Container[] containers) { //send asset for fleet AssetLinkValues <FleetStaticType> assetFleet = new AssetLinkValues <FleetStaticType>() { typeid = "Fleet", Values = new List <FleetStaticType> { new FleetStaticType() { index = "SouthEastFleet", name = "SouthEastFleet" } } }; //client.SendValuesAsync(new AssetLinkValues<FleetStaticType>[] { assetFleet }).Wait(); OMFIngressHelper.SendValuesToAllEndPointsAsync(new AssetLinkValues <FleetStaticType>[] { assetFleet }).Wait(); //vehicle asset AssetLinkValues <VehicleStaticType> assetVehicle = new AssetLinkValues <VehicleStaticType>() { typeid = "Vehicle", Values = new List <VehicleStaticType> { new VehicleStaticType() { index = configuration.VehicleName, name = configuration.VehicleName } } }; //client.SendValuesAsync(new AssetLinkValues<VehicleStaticType>[] { assetVehicle }).Wait(); OMFIngressHelper.SendValuesToAllEndPointsAsync(new AssetLinkValues <VehicleStaticType>[] { assetVehicle }).Wait(); //Measurement Assets List <ValueStaticType> values = new List <ValueStaticType>(); foreach (string pid in pIDs) { ValueStaticType valueStatic = new ValueStaticType() { index = GetMeasurement(pid).ToString(), name = GetMeasurement(pid).ToString(), PIDString = pid }; values.Add(valueStatic); } AssetLinkValues <ValueStaticType> assetValue = new AssetLinkValues <ValueStaticType>() { typeid = "ValueStaticType", Values = values }; //client.SendValuesAsync(new AssetLinkValues<ValueStaticType>[] { assetValue }).Wait(); OMFIngressHelper.SendValuesToAllEndPointsAsync(new AssetLinkValues <ValueStaticType>[] { assetValue }).Wait(); List <AFLink <StaticElement, StaticElement> > aflinks = new List <AFLink <StaticElement, StaticElement> >(); AFLink <StaticElement, StaticElement> aFLink = new AFLink <StaticElement, StaticElement> { source = new StaticElement() { typeid = nameof(FleetStaticType), index = "_ROOT" }, target = new StaticElement() { typeid = nameof(FleetStaticType), index = "SouthEastFleet" } }; aflinks.Add(aFLink); aFLink = new AFLink <StaticElement, StaticElement> { source = new StaticElement() { typeid = nameof(FleetStaticType), index = "SouthEastFleet" }, target = new StaticElement() { typeid = nameof(VehicleStaticType), index = configuration.VehicleName } }; aflinks.Add(aFLink); foreach (var v in values) { aFLink = new AFLink <StaticElement, StaticElement> { source = new StaticElement() { typeid = nameof(VehicleStaticType), index = configuration.VehicleName }, target = new StaticElement() { typeid = nameof(ValueStaticType), index = v.index } }; aflinks.Add(aFLink); } //send asset parent-child links AssetLinkValues <AFLink <StaticElement, StaticElement> > assetLink = new AssetLinkValues <AFLink <StaticElement, StaticElement> >() { typeid = "__Link", Values = aflinks }; //client.SendValuesAsync(new AssetLinkValues<AFLink<StaticElement, StaticElement>>[] { assetLink }).Wait(); OMFIngressHelper.SendValuesToAllEndPointsAsync(new AssetLinkValues <AFLink <StaticElement, StaticElement> >[] { assetLink }).Wait(); List <AFLink <StaticElement, DynamicElement> > dataLinks = new List <AFLink <StaticElement, DynamicElement> >(); for (int i = 0; i < containers.Length; i++) { dataLinks.Add(new AFLink <StaticElement, DynamicElement>() { source = new StaticElement() { typeid = nameof(ValueStaticType), index = values[i].index }, target = new DynamicElement() { containerid = containers[i].Id } }); } AssetLinkValues <AFLink <StaticElement, DynamicElement> > dataLink = new AssetLinkValues <AFLink <StaticElement, DynamicElement> >() { typeid = "__Link", Values = dataLinks }; //client.SendValuesAsync(new AssetLinkValues<AFLink<StaticElement, DynamicElement>>[] { dataLink }).Wait(); OMFIngressHelper.SendValuesToAllEndPointsAsync(new AssetLinkValues <AFLink <StaticElement, DynamicElement> >[] { dataLink }).Wait(); }