/// <summary> /// Update Engine stage timestamp in ComputeInfo in JSON. /// </summary> /// <param name="inputMessage"></param> /// <returns></returns> public string UpdateEngineStageJsonField(string inputMessage, string engineName) { try { Rootobject rootobject = JsonSerializer.Deserialize <Rootobject>(inputMessage); if (rootobject.computeInfo != null) { foreach (var item in rootobject.computeInfo) { if (item.stage.Equals(GetStageName(engineName))) { item.sentTime = ConfigurationConstant.GetCurrentTime(); } } var options = new JsonSerializerOptions { IgnoreNullValues = true, WriteIndented = true }; return(JsonSerializer.Serialize(rootobject, options)); } else { return(string.Empty); } } catch (Exception ex) { logger.Error(ex.StackTrace); return(string.Empty); } }
/// <summary> /// Add compute info in the input message. /// </summary> /// <param name="inputMessage">input message</param> /// <returns>Updated output message</returns> public string AddEngineStageJsonField(string jsonMessage, string engineName) { try { Rootobject rootobject = JsonSerializer.Deserialize <Rootobject>(jsonMessage); Computeinfo computeinfo = new Computeinfo() { stage = GetStageName(engineName), receviedTime = ConfigurationConstant.GetCurrentTime() }; rootobject.computeInfo.Add(computeinfo); var options = new JsonSerializerOptions { IgnoreNullValues = true, WriteIndented = true }; return(JsonSerializer.Serialize(rootobject, options)); } catch (Exception ex) { logger.Error(ex.StackTrace); return(string.Empty); } }