Я пытаюсь использовать шаблон Scriban. Итак, в основном я пытаюсь обновить значение для каждого ключа.
string bodytext = "{{status = ""}}
{{ for service in services }}
{{ service.key }} {{status}} {{$counter = 0}}{{for subService in service.value}}{{ if $counter >= 0; "\n\t"; end ; $counter = $counter + 1 ;}} {{$counter}}.{{ subService.key }}: {{ subService.value }} {{if status == "" ; status = subService.value ; else if subService.value == "[\"Degraded\"]"; status = "Degraded"; else if subService.value == "[\"Unhealthy\"]";status = "Unhealthy";else if subService.value == "[\"Healthy\"]"; status = "Healthy"; end ;}} {{ end }}
{{ end }}"
Dictionary<string, List<string>> subServiceDict = new Dictionary<string, List<string>>();
var template2 = Template.Parse(bodyText);
Console.WriteLine(template2.Render(parameters));
вывод также почти правильный, но не совсем нужный. где UserManagement исходит от первого l oop в службах и базовой базе данных, Ping исходит от второго l oop.
UserManagement
1.Base Database: ["Healthy"]
2.Ping: ["Healthy", "Ping is OK!"]
ConfigurationManagement Degraded
1.Ping: ["Healthy", "Ping is OK!"]
2.Configuration Database: ["Degraded"]
Мне нужно улучшить две вещи. 1.Как вы можете видеть ConfigurationManagement Degraded , это Degraded значение исходит из определения статуса переменной в основном тексте. но я хочу напечатать ту же переменную и для UserManagement. В настоящее время он не печатается. Итак, в основном для каждой службы он должен печатать.
2. В настоящее время он печатается как 1.Base Database: ["Healthy"], поэтому вместо этого мы можем печатать Healthy. Я имею в виду, что 1.Base Database: Healthy and like this 2.Ping: Healthy (Ping is OK!)?
Надеюсь, мой вопрос ясен. Будем признательны за любые запросы. С уважением