public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { // load next token JToken nextToken = JToken.Load(reader); if (nextToken.Type != JTokenType.Object) { return(null); } // build repetition JObject obj = (JObject)nextToken; TimerRepetition repetition = TimerRepetition.None; if ((bool)obj["monday"]) { repetition |= TimerRepetition.Monday; } if ((bool)obj["tuesday"]) { repetition |= TimerRepetition.Tuesday; } if ((bool)obj["wednesday"]) { repetition |= TimerRepetition.Wednesday; } if ((bool)obj["thursday"]) { repetition |= TimerRepetition.Thursday; } if ((bool)obj["friday"]) { repetition |= TimerRepetition.Friday; } if ((bool)obj["saturday"]) { repetition |= TimerRepetition.Saturday; } if ((bool)obj["sunday"]) { repetition |= TimerRepetition.Sunday; } return(repetition); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { // cast TimerRepetition repetition = (TimerRepetition)value; // create object JObject obj = new JObject(); obj["monday"] = (repetition & TimerRepetition.Monday) == TimerRepetition.Monday; obj["tuesday"] = (repetition & TimerRepetition.Tuesday) == TimerRepetition.Tuesday; obj["wednesday"] = (repetition & TimerRepetition.Wednesday) == TimerRepetition.Wednesday; obj["thursday"] = (repetition & TimerRepetition.Thursday) == TimerRepetition.Thursday; obj["friday"] = (repetition & TimerRepetition.Friday) == TimerRepetition.Friday; obj["saturday"] = (repetition & TimerRepetition.Saturday) == TimerRepetition.Saturday; obj["sunday"] = (repetition & TimerRepetition.Sunday) == TimerRepetition.Sunday; obj.WriteTo(writer); }
/// <summary> /// Gets if the timer will repeat on the provided day. /// </summary> /// <param name="repetitionDay">The repetition day.</param> /// <returns>If the timer will repeat on the day.</returns> public bool ShouldRepeat(TimerRepetition repetitionDay) { return((Repeats & repetitionDay) == repetitionDay); }