/// <summary> /// Saves this object to the stream. /// </summary> /// <param name="inbw">The destination writer for episode listing.</param> /// <param name="sebw">The destination writer for episode tracking.</param> public void Save(BinaryWriter inbw, BinaryWriter sebw = null) { inbw.Write((byte)Season); if (Number < 255) { inbw.Write((byte)Number); } else { inbw.Write((byte)255); inbw.Write((byte)(Number - 255)); } inbw.Write((int)Airdate.ToUnixTimestamp()); inbw.Write(Title ?? string.Empty); inbw.Write(Summary ?? string.Empty); inbw.Write(Picture ?? string.Empty); inbw.Write(URL ?? string.Empty); if (sebw != null && Watched) { sebw.Write((byte)Season); if (Number < 255) { sebw.Write((byte)Number); } else { sebw.Write((byte)255); sebw.Write((byte)(Number - 255)); } } }
/// <summary> /// Generates a regular expression which matches this episode's numbering. /// </summary> /// <returns> /// A regular expression which matches this episode's numbering. /// </returns> public Regex GenerateRegex() { return(ShowNames.Parser.GenerateEpisodeRegexes(Season.ToString(), Number.ToString(), Airdate.ToOriginalTimeZone(Show.TimeZone))); }