C# Property Binding Order

Я использую AC# Web API, и у меня есть один класс, как показано ниже, и он имеет определенные ниже свойства. Этот же класс был использован в моем информационном вызове Get/Post User. В основном, когда мы сохраняем значение в базе данных, мы сохраняем поле даты и времени в форме формата UTC, а когда мы извлекаем его из базы данных, мы представляем значение в форме определенного часового пояса пользователя.

    public class UserInfo
    {
        private string _userHashId;

        public string UserHashId
        {
          get
          {
            return _userHashId;
          }
          set
          {
            // This property has been set after set the value of "RegistrationDate"
            _userHashId = value;
          }
        }

        public string TimeZone { get; set; }

        public string _registrationDate;

        public string RegistrationDate
        {
          get
          {
            return _registrationDate;
          }
          set
          {
            _registrationDate = value;

            if (string.IsNullOrWhiteSpace(TimeZone))
            {
              // When this property's set method called "UserHashId" value is not available
              // and because of that TimeZone data is not available
              TimeZone = Helper.FindTimeZoneByUserHashId(UserHashId);
            }

            // User Timezone to UTC Timezone
            _registrationDateUTC = _registrationDate.ToUtcTimeZone(TimeZone);
          }
        }

        public DateTime _registrationDateUTC;

        public DateTime RegistrationDateUTC
        {
          get
          {
            return _registrationDateUTC;
          }
          set
          {
            _registrationDateUTC = value;

            // UTC Timezone to User Timezone
            _registrationDate = _registrationDateUTC.ToUserTimezone(TimeZone);
          }
        }
    }

В вызове Get API информация о пользователе отображается правильно с правильной информацией о часовом поясе. Однако, когда пользователь делает разговор о дате и времени запроса Post, работающий не так, как ожидалось, потому что мне нужно узнать информацию о часовом поясе на основе UserHashId до преобразования фактического времени в время UTC, и я не получаю значение "UserHashId" в блоке установок "RegistrationDate" потому что это все еще не установлено.

0 ответов

Другие вопросы по тегам