public static List <Connection> GetConnections(Function f) { List <Connection> connections = new List <Connection>(); foreach (Connection c in f.Connections) { Function startFunction = (Function)c.StartSymbolReference; Function endFunction = (Function)c.EndSymbolReference; if (FunctionUtils.IsAnnotated(startFunction) && FunctionUtils.IsAnnotated(endFunction)) { connections.Add(c); } } return(connections); }
/// <summary> /// Checks if Connections have changed /// Not in/of use at the moment /// </summary> /// <param name="function"></param> public void CheckForFunctionChanges(Function function) { //Not finished if (FunctionUtils.IsAnnotated(function)) { List<Cloud.Artifact> functionArtifacts = workspace.getArtifactsWithProperty(Fields.DT, function.Properties.FUNC_DEVICETAG_FULLNAME, functionType).ToList<Cloud.Artifact>(); if (functionArtifacts.Count > 1) { throw new Exception("More than one Artifact with this DT"); } List<Connection> connections = FunctionUtils.GetConnections(function); List<Cloud.Artifact> outConnectionArtifacts = workspace.getArtifactsWithProperty(Fields.OUT, function.Properties.FUNC_DEVICETAG_FULLNAME, connectionType).ToList<Cloud.Artifact>(); List<Cloud.Artifact> inConnectionArtifacts = workspace.getArtifactsWithProperty(Fields.IN, function.Properties.FUNC_DEVICETAG_FULLNAME, connectionType).ToList<Cloud.Artifact>(); List<Connection> outTempList = ConnectionUtils.CalcTempConnectionList(outConnectionArtifacts, connections); List<Connection> inTempList = ConnectionUtils.CalcTempConnectionList(inConnectionArtifacts, connections); } }