public static SAMObject ToSAM(this IDdBaseModel ddBaseModel) { if (ddBaseModel == null) { return(null); } if (ddBaseModel is Model) { return(((Model)ddBaseModel).ToSAM()); } return(null); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="dataAccess">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess dataAccess) { GH_ObjectWrapper objectWrapper = null; if (!dataAccess.GetData(0, ref objectWrapper) || objectWrapper == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Invalid data"); return; } object value = objectWrapper.Value; if (value is IGH_Goo) { value = (value as dynamic).Value; } if (value == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Invalid data"); return; } SAMObject result = null; string json = null; try { json = Core.LadybugTools.Convert.ToString(value); } catch { } if (!string.IsNullOrWhiteSpace(json)) { System.Text.Json.JsonDocument jsonDocument = null; try { jsonDocument = System.Text.Json.JsonDocument.Parse(json); } catch { jsonDocument = null; } if (jsonDocument != null) { try { IDdBaseModel ddBaseModel = Core.LadybugTools.Convert.ToHoneybee(value); if (ddBaseModel != null) { result = Analytical.LadybugTools.Convert.ToSAM(ddBaseModel); } } catch { } } } dataAccess.SetData(0, result); dataAccess.SetData(1, json); }