public static string PopulateJsonForMissingDataObject(string parameters, string emptyJson, string parentData) { string json = emptyJson; try { MissingObjectsParameters missingObjectParms = new MissingObjectsParameters(); missingObjectParms = JsonConvert.DeserializeObject <MissingObjectsParameters>(parameters); JObject dataObject = JObject.Parse(emptyJson); JObject parentObject = JObject.Parse(parentData); foreach (var key in missingObjectParms.Keys) { var tagName = key.Key; var variable = key.Value; if (variable.Substring(0, 1) == "!") { string parentTag = key.Value.Substring(1); variable = parentObject[parentTag].ToString(); } dataObject[tagName] = variable; } dataObject["REMARK"] = $"Has been predicted and created by QCEngine;"; json = dataObject.ToString(); } catch (Exception ex) { json = "Error"; } return(json); }
public static string AddDefaultsForMissingDataObjects(string parameters, string inputJson) { string json = inputJson; try { MissingObjectsParameters missingObjectParms = new MissingObjectsParameters(); missingObjectParms = JsonConvert.DeserializeObject <MissingObjectsParameters>(parameters); if (missingObjectParms.Defaults != null) { JObject dataObject = JObject.Parse(inputJson); foreach (var key in missingObjectParms.Defaults) { var tagName = key.Default; var variable = key.Value; dataObject[tagName] = variable; } json = dataObject.ToString(); } } catch (Exception ex) { json = "Error"; } return(json); }
public static string GetJsonForMissingDataObject(string parameters, DbUtilities dbConn) { string json = ""; MissingObjectsParameters missingObjectParms = new MissingObjectsParameters(); missingObjectParms = JsonConvert.DeserializeObject <MissingObjectsParameters>(parameters); string select = "SELECT TOP(1) JSONDATAOBJECT FROM pdo_qc_index"; string query = $" WHERE DATATYPE = '{missingObjectParms.DataType}'"; DataTable dt = dbConn.GetDataTable(select, query); if (dt.Rows.Count == 1) { json = dt.Rows[0]["JSONDATAOBJECT"].ToString(); JObject dataObject = JObject.Parse(json); foreach (KeyValuePair <String, JToken> tag in dataObject) { var tagName = tag.Key; var variable = tag.Value; var type = variable.Type; if (type == JTokenType.Float) { dataObject[tagName] = -99999.0; } else { dataObject[tagName] = ""; } } json = dataObject.ToString(); } else { json = "Error"; } return(json); }