public static SpeckleObject ToSpeckle(this GSANode dummyObject) { var newLines = ToSpeckleBase <GSANode>(); var typeName = dummyObject.GetType().Name; var nodesLock = new object(); var nodes = new SortedDictionary <int, GSANode>(); Parallel.ForEach(newLines.Keys, k => { var pPieces = newLines[k].ListSplit(Initialiser.AppResources.Proxy.GwaDelimiter); var gsaId = pPieces[1]; var node = new GSANode { GWACommand = newLines[k] }; try { node.ParseGWACommand(); lock (nodesLock) { nodes.Add(k, node); } } catch (Exception ex) { Initialiser.AppResources.Messenger.CacheMessage(MessageIntent.Display, MessageLevel.Error, typeName, gsaId); Initialiser.AppResources.Messenger.CacheMessage(MessageIntent.TechnicalLog, MessageLevel.Error, ex, typeName, gsaId); } } ); Initialiser.GsaKit.GSASenderObjects.AddRange(nodes.Values.ToList()); return((nodes.Keys.Count > 0) ? new SpeckleObject() : new SpeckleNull()); }
public static SpeckleObject ToSpeckle(this GSANode dummyObject) { var newLines = ToSpeckleBase <GSANode>(); var nodes = new List <GSANode>(); foreach (var p in newLines.Values) { var node = new GSANode { GWACommand = p }; node.ParseGWACommand(); nodes.Add(node); } Initialiser.GSASenderObjects[typeof(GSANode)].AddRange(nodes); return((nodes.Count() > 0) ? new SpeckleObject() : new SpeckleNull()); }
public static SpeckleObject ToSpeckle(this GSANode dummyObject) { var newLines = ToSpeckleBase <GSANode>(); var nodesLock = new object(); var nodes = new List <GSANode>(); Parallel.ForEach(newLines.Values, p => { var node = new GSANode { GWACommand = p }; node.ParseGWACommand(); lock (nodesLock) { nodes.Add(node); } } ); Initialiser.GSASenderObjects.AddRange(nodes); return((nodes.Count() > 0) ? new SpeckleObject() : new SpeckleNull()); }
public static SpeckleObject ToSpeckle(this GSANode dummyObject) => (new GsaNode()).ToSpeckle();