fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
< 1 minut

Automapper i mapowanie z czasu UTC


11.03.2010

Niedawno popisałem troszkę o czasie UTC i dlaczego tylko taka reprezentacja czasu powinna znajdować drogę do bazy danych. A teraz… w jaki sposób przygotować datę do podróży w drugą stronę, czyli do użytkownika.

Z Automapperem jest to zadanie doprawdy banalne, wystarczy odpowiedni Type Converter:

  1:  public class UtcToLocalTimeConverter : TypeConverter<DateTime, DateTime>
  2:  {
  3:  	protected override DateTime ConvertCore(DateTime source)
  4:  	{
  5:  		string targetTimeZoneName = Config.TargetTimeZone;
  6:  
  7:  		TimeZoneInfo targetTimeZone = TimeZoneInfo.FindSystemTimeZoneById(targetTimeZoneName);
  8:  
  9:  		return TimeZoneInfo.ConvertTimeFromUtc(source, targetTimeZone);
 10:  	}
 11:  }

Teraz tylko rejestracja w konfiguracji…

  1:  Mapper.CreateMap<DateTime, DateTime>().ConvertUsing<UtcToLocalTimeConverter>();

i już, automagicznie wszystkie nasze DTO przesyłane do użytkownika będą miały odpowiednią dla niego datę. A system nadal posiada wszelkie zalety "systemu przechowującego datę w UTC", bez żadnego dodatkowego wysiłku z naszej strony!

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Zapisując się na newsletter zgadzasz się na przetwarzanie Twoich danych osobowych w celu wysyłania na wskazany przez Ciebie adres e-mail informacji handlowych o nowościach, promocjach, produktach i usługach związanych z serwisem devstyle.pl. Będzie to marketing bezpośredni, do realizacji którego wykorzystam Twoje telekomunikacyjne urządzenia końcowe. Administratorem Twoich danych osobowych będzie Maciej Aniserowicz prowadzący działalność gospodarczą w Białymstoku (15-215) przy ul. Konopnickiej 14/8, NIP 5422824401. Przysługuje Tobie prawo do cofnięcia zgody, żądania wglądu do Twoich danych, wniesienia sprzeciwu co do ich przetwarzania, sprostowania, usunięcia i ograniczenia przetwarzania. Więcej informacji o tym jak przetwarzam Twoje dane znajdziesz na devstyle.pl/RODO. Powered by ConvertKit
Notify of
marek

Hej Maciej,

rewelacyjne rozwiązanie, sam już od jakiegoś czasu korzystam z AutoMapper’a, ale zawsze brakowało mi eleganckiego rozwiązania na wstrzykiwania zależności podczas mapowania.

Super, dzięki!

Pozdrawiam,
Marek

marek

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Facebook

Książka

Zobacz również