public IHttpActionResult Post([FromBody] List <MonitorValue> commandValues) { _logger.Info("-----------------------------------------"); _logger.Info("MonitorValuesController..."); _logger.Info(ObjectDumper.Dump(commandValues)); var headers = Request.Headers; var serverGuid = headers.GetValues("server_guid").First(); if (!Util.IsServerGuidValid(serverGuid)) { throw new HttpResponseException(HttpStatusCode.Unauthorized); } try { var guid = headers.GetValues("agent_guid").First(); var agent = monitorDb.GetAgentByGuid(guid); monitorDb.DeleteOldHistory(DateTime.UtcNow); foreach (var commandValue in commandValues) { var MonitorValue = new BusinessLayer.MonitorValue() { AgentId = agent.AgentId, // This should be derived from header MonitorCommandId = commandValue.Id, ReturnCode = commandValue.ReturnCode, Value = commandValue.Value, ErrorMessage = commandValue.ErrorMessage }; _logger.Debug($"MonitorValuesController : UpsertMonitorValue"); monitorDb.UpsertMonitorValue(MonitorValue); _logger.Debug($"MonitorValuesController : UpdateLastReceivedReply"); monitorDb.UpdateLastReceivedReply(agent.AgentId); } return(Ok()); } catch (Exception e) { _logger.Error($"Post method Exception:{e.Message}"); return(BadRequest()); } }
public IHttpActionResult Post(HttpRequestMessage req) { _logger.Info("-----------------------------------------"); _logger.Info("StableDeviceController..."); var data = req.Content.ReadAsStringAsync().Result; data = Regex.Replace(data, @"\s+", " ", RegexOptions.Compiled); _logger.Info("StableDevice Results..."); _logger.Info(data); try { var headers = Request.Headers; var serverGuid = headers.GetValues("server_guid").First(); if (!Util.IsServerGuidValid(serverGuid)) { throw new HttpResponseException(HttpStatusCode.Unauthorized); } var guid = headers.GetValues("agent_guid").First(); var agent = monitorDb.GetAgentByGuid(guid); var agentResource = new AgentResource() { AgentId = agent.AgentId, StableDeviceJson = data, LastUpdatedDate = DateTime.UtcNow }; _logger.Debug($"Stable Device controller : UpsertAgentResource"); monitorDb.UpsertAgentResource(agentResource); return(Ok()); } catch (Exception e) { _logger.Error($" Stable Device controller :Post method Exception:{e.Message}"); return(BadRequest()); } }