Был немного занят путешествиями (1, 2, 3), семьёй и основной работой :)
Но не останавливался.
Пополнял базу, прикидывал визуальный образ, модифицировал скрипты и структуру БД.
Нашёл и устранил глупейшую ошибку в конвертации строковой константы координаты в Double.
Когда на вход приходит "54°10'39.90"С", а на выходе должно быть 54.17775104580073, а по факту получалось немного больше.
Преобразование прекрасно работало на тестовой рабочей станции, но после публикации в облако начало давать координаты каких-то болот.
Например, Крейсер Аврора оказался в Ладожском озере, а не у Петроградской набережной.
Оказалось, что на рабочей станции и на сервере разные языковые и региональные настройки.
Это старая проблема, которую все знают и о которой часто забывают.
Решение простое - привести все регионально зависимые преобразования к какому-то одному стандарту.
В C# для этого есть специальное понятие - класс CultureInfo со значением InvariantCulture.
По-умолчанию, это стандарты Английского языка без привязки к региону.
Корректно работающий и на тестовой и на продуктовой среде код:

Дополнительно, я отрефакторил код, заменив ужасные строковые константы с тэгами на использование класса TagBuilder.
Сейчас работаю над добавлением записей с привязкой к одному месторасположению или разных статей к одному объекту (фактически строю дерево).
Такие записи у меня есть, например одна локация у всех Стальных стражей, а про один и тот же бронепоезд "Тульский рабочий" я писал в 2015 и 2017 годах.
Journal information