Ejemplo n.º 1
0
        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());
            }
        }