コード例 #1
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            CheckInState state;

            if (value is CheckInState)
            {
                state = ( CheckInState )value;
            }
            else
            {
                return;
            }

            var localKey = Guid.NewGuid().ToString();

            var local = new CheckInStateAnalog
            {
                LocalKey             = localKey,
                CheckIn              = state.CheckIn,
                CheckinTypeId        = state.CheckinTypeId,
                ConfiguredGroupTypes = state.ConfiguredGroupTypes,
                DeviceId             = state.DeviceId,
                ManagerLoggedIn      = state.ManagerLoggedIn,
                Messages             = state.Messages,
                ExpiresDateTime      = Rock.RockDateTime.Now.AddMinutes(20)
            };

            CheckInStateSessionManager.Set(local);

            var stored = new CheckInStateAnalog()
            {
                LocalKey             = localKey,
                CheckIn              = DehydrateStatus(state.CheckIn),
                CheckinTypeId        = state.CheckinTypeId,
                ConfiguredGroupTypes = state.ConfiguredGroupTypes,
                DeviceId             = state.DeviceId,
                ManagerLoggedIn      = state.ManagerLoggedIn,
                Messages             = state.Messages,
                ExpiresDateTime      = Rock.RockDateTime.Now.AddMinutes(20)
            };

            serializer.Serialize(writer, stored);
        }
コード例 #2
0
 public static void Set(CheckInStateAnalog stateAnalog)
 {
     Data.AddOrUpdate(stateAnalog.LocalKey, stateAnalog, (l, analog) => stateAnalog);
     Clean();
 }