// TODO: Same keyword as StructuralLoadTask so will conflict. Need a way to differentiate between. public static SpeckleObject ToSpeckle(this GSALoadTaskBuckling dummyObject) { // if (!Initialiser.GSASenderObjects.ContainsKey(typeof(GSALoadTaskBuckling))) // Initialiser.GSASenderObjects.Get<GSALoadTaskBuckling)] = new List<object>(); // var loadTasks = new List<GSALoadTaskBuckling>(); // string keyword = typeof(GSALoadTaskBuckling).GetGSAKeyword(); // string[] subKeywords = typeof(GSALoadTaskBuckling).GetSubGSAKeyword(); // string[] lines = Initialiser.Interface.GetGWARecords("GET_ALL\t" + keyword); // List<string> deletedLines = Initialiser.Interface.GetDeletedGWARecords("GET_ALL\t" + keyword).ToList(); // foreach (string k in subKeywords) // deletedLines.AddRange(Initialiser.Interface.GetDeletedGWARecords("GET_ALL\t" + k)); // // Remove deleted lines // Initialiser.GSASenderObjects.Get<GSALoadTaskBuckling)].RemoveAll(l => deletedLines.Contains((l as IGSASpeckleContainer).GWACommand)); // foreach (var kvp in Initialiser.GSASenderObjects) // kvp.Value.RemoveAll(l => (l as IGSASpeckleContainer).SubGWACommand.Any(x => deletedLines.Contains(x))); // // Filter only new lines // string[] prevLines = Initialiser.GSASenderObjects.Get<GSALoadTaskBuckling)].Select(l => (l as IGSASpeckleContainer).GWACommand).ToArray(); // string[] newLines = lines.Where(l => !prevLines.Contains(l)).ToArray(); // foreach (string p in newLines) // { // GSALoadTaskBuckling task = new GSALoadTaskBuckling() { GWACommand = p }; // task.ParseGWACommand(); // loadTasks.Add(task); // } // Initialiser.GSASenderObjects.AddRange(loadTasks); // if (loadTasks.Count() > 0 || deletedLines.Count() > 0) return new SpeckleObject(); return(new SpeckleNull()); }
// TODO: Same keyword as StructuralLoadTask so will conflict. Need a way to differentiate between. public static SpeckleObject ToSpeckle(this GSALoadTaskBuckling dummyObject) { return(new SpeckleNull()); }