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); }
public static void Set(CheckInStateAnalog stateAnalog) { Data.AddOrUpdate(stateAnalog.LocalKey, stateAnalog, (l, analog) => stateAnalog); Clean(); }