Beispiel #1
0
        public IActionResult Patch(string id /*signalR connection id*/, [FromBody] MonitorSettingsPutModel model)
        {
            _logger.LogDebug(model.ToString());

            if (model.Level.StartsWith('-'))
            {
                var level = model.Level[1..];
        public IActionResult Patch(string id /*signalR connection id*/, [FromBody] MonitorSettingsPutModel model)
        {
            Logger.LogDebug(model.ToString());

            if (MemoryCache.TryGetValue(id, out MonitorSettings settings))
            {
                if (settings.AppId == 0)
                {
                    settings.AppId = model.AppId;
                }

                MemoryCache.Remove(id);
            }
            else
            {
                settings = new MonitorSettings {
                    AppId = model.AppId
                };
            }

            if (model.Level.StartsWith('-'))
            {
                var level = model.Level.Substring(1);
                if (settings.Levels.Contains(level))
                {
                    settings.Levels.Remove(level);
                }
            }
            else
            {
                if (!settings.Levels.Contains(model.Level))
                {
                    settings.Levels.Add(model.Level);
                }
            }

            MemoryCache.Set(id, settings);
            return(NoContent());
        }