TimeZoneCode do TimeZoneInfo

W naszym projekcie CRM dotyczącym dynamiki stwardnienia rozsianego stworzyliśmy partię masowego przesyłania użytkowników.
Partia odczytuje z pliku Excela i masowo przesyła użytkowników.
Jedną z rzeczy, które ta partia musi ustawić, jest kod czasowy.

W pliku Excel strefa czasowa zostanie zapisana jako np. „UTC + 1”
Kod używany przez CRM wydaje się być kodem czasowym używanym przez serwer SQL, jak można znaleźćtutaj.

Jaki jest najczystszy sposób ich mapowania?
Moje pomysły do ​​tej pory:

Zakoduj sklep konwersjiW jakiś sposób pobierz kody z CRMW jakiś sposób pobierz kody z SQL

Obecnie wdrożyliśmy naszą własną klasę konwersji z zakodowanymi wartościami.
Czy jest lepszy sposób? Czy możemy w jakiś sposób wykorzystać klasę .net TimezoneInfo?

Aktualizacja
Aby uzyskać wszystkie strefy czasowe CRM, wykonaliśmy następujące czynności:

var colSet = new ColumnSet(true);
var query = new QueryExpression(TimeZoneDefinition.EntityLogicalName) { ColumnSet = colSet};
var timeZoneDefs = service.RetrieveMultiple(query).Entities.Select(tz => tz.ToEntity<TimeZoneDefinition>());

Ale wydaje się, że jedyne wypełnione właściwości to Id, Code, StandardName i UserInterfaceName. Wygląda na to, że tylko nazwa interfejsu zawiera przesunięcie, którego szukamy.

Czy istnieje sposób na załadowanie właściwości Bias?

questionAnswers(2)

yourAnswerToTheQuestion