public Recording(XmlNode node) { int intValue; DateTime dtValue; foreach (XmlNode child in node.ChildNodes) { switch (child.Name) { case "oid": if (int.TryParse(child.InnerText, out intValue)) { this.mOID = intValue; } break; case "name": this.mName = child.InnerText; break; case "channel": this.mChannel = child.InnerText; break; case "filename": this.mFileName = child.InnerText; break; case "status": this.mStatus = child.InnerText; break; case "startTime": if (NextPvrDateTime.TryParse(child.InnerText, out dtValue)) { this.mStartTime = dtValue; } break; case "endTime": if (NextPvrDateTime.TryParse(child.InnerText, out dtValue)) { this.mEndTime = dtValue; } break; case "Event": this.mEvent = new RecordingEvent(child); break; default: this.mExtraFields.Add(child.OuterXml); break; } } }
public void Serialize(System.IO.TextWriter writer) { int i; writer.WriteLine("<Event>"); writer.WriteLine(string.Concat(" <OID>", this.mOID.ToString(), "</OID>")); writer.WriteLine(string.Concat(" <Title>", this.mTitle, "</Title>")); writer.WriteLine(string.Concat(" <SubTitle>", this.mSubTitle, "</SubTitle>")); writer.WriteLine(string.Concat(" <Description>", this.mDescription, "</Description>")); writer.WriteLine(string.Concat(" <ChannelOID>", this.mChannelOID.ToString(), "</ChannelOID>")); writer.WriteLine(string.Concat(" <StartTime>", NextPvrDateTime.Serialize(this.mStartTime), "</StartTime>")); writer.WriteLine(string.Concat(" <EndTime>", NextPvrDateTime.Serialize(this.mEndTime), "</EndTime>")); writer.WriteLine(string.Concat(" <FirstRun>", this.mFirstRun ? "true" : "false", "</FirstRun>")); if (this.mOriginalAirDate != DateTime.MinValue) writer.WriteLine(string.Concat(" <OriginalAirDate>", NextPvrDateTime.Serialize(this.mOriginalAirDate, true), "</OriginalAirDate>")); if (this.mRating != null) writer.WriteLine(string.Concat(" <Rating>", this.mRating, "</Rating>")); if (this.mAudio != null) writer.WriteLine(string.Concat(" <Audio>", this.mAudio, "</Audio>")); if (this.mAspect != null) writer.WriteLine(string.Concat(" <Aspect>", this.mAspect, "</Aspect>")); if (this.mQuality != null) writer.WriteLine(string.Concat(" <Quality>", this.mQuality, "</Quality>")); if (this.mExtraFields.Count > 0) { for (i = 0; i < this.mExtraFields.Count; i++) writer.WriteLine(string.Concat(" ", this.mExtraFields[i])); } if (this.mGenres != null) { writer.WriteLine(" <Genres>"); for (i = 0; i < this.mGenres.Count; i++) writer.WriteLine(string.Concat(" <Genre>", this.mGenres[i], "</Genre>")); writer.WriteLine(" </Genres>"); } if (this.mCast != null) { writer.WriteLine(" <Cast>"); for (i = 0; i < this.mCast.Count; i++) writer.WriteLine(string.Concat(" <Member>", this.mCast[i], "</Member>")); writer.WriteLine(" </Cast>"); } if (this.mCrew != null) { writer.WriteLine(" <Crew>"); for (i = 0; i < this.mCrew.Count; i++) writer.WriteLine(string.Concat(" <Member>", this.mCrew[i], "</Member>")); writer.WriteLine(" </Crew>"); } writer.WriteLine(string.Concat(" <UniqueID>", this.mUniqueID, "</UniqueID>")); writer.WriteLine("</Event>"); }
public void Serialize(System.IO.TextWriter writer) { writer.WriteLine(" <recurring>"); writer.WriteLine(string.Concat(" <oid>", this.mOID.ToString(), "</oid>")); writer.WriteLine(string.Concat(" <name>", this.mName, "</name>")); writer.WriteLine(" <matchrules>"); writer.WriteLine("<Rules>"); writer.WriteLine(string.Concat(" <EPGTitle>", this.mEPGTitle, "</EPGTitle>")); writer.WriteLine(string.Concat(" <ChannelOID>", this.mChannelOID.ToString(), "</ChannelOID>")); writer.WriteLine(string.Concat(" <ChannelName>", this.mChannelName, "</ChannelName>")); writer.WriteLine(string.Concat(" <StartTime>", NextPvrDateTime.Serialize(this.mStartTime), "</StartTime>")); writer.WriteLine(string.Concat(" <EndTime>", NextPvrDateTime.Serialize(this.mEndTime), "</EndTime>")); writer.WriteLine(string.Concat(" <PrePadding>", this.mPrePadding.ToString(), "</PrePadding>")); writer.WriteLine(string.Concat(" <PostPadding>", this.mPostPadding.ToString(), "</PostPadding>")); writer.WriteLine(string.Concat(" <Quality>", this.mQuality.ToString(), "</Quality>")); writer.WriteLine(string.Concat(" <Keep>", this.mKeep.ToString(), "</Keep>")); if (this.mOnlyNewEpisodes) { writer.WriteLine(" <OnlyNewEpisodes>true</OnlyNewEpisodes"); } if (this.mDays != null) { string days = this.mDays[0].ToString().ToUpper(); for (int j = 1; j < this.mDays.Length; j++) { days = string.Concat(days, ",", this.mDays[j].ToString().ToUpper()); } writer.WriteLine(string.Concat(" <Days>", days, "</Days>")); } for (int i = 0; i < this.mExtraRules.Count; i++) { writer.WriteLine(string.Concat(" ", this.mExtraRules[i])); } writer.WriteLine("</Rules>"); writer.WriteLine(); writer.WriteLine(" </matchrules>"); writer.WriteLine(" </recurring>"); }
public void Serialize(System.IO.TextWriter writer) { writer.WriteLine(" <recording>"); writer.WriteLine(string.Concat(" <oid>", this.mOID.ToString(), "</oid>")); writer.WriteLine(string.Concat(" <name>", this.mName, "</name>")); writer.WriteLine(string.Concat(" <channel>", this.mChannel, "</channel>")); writer.WriteLine(string.Concat(" <filename>", this.mFileName, "</filename>")); writer.WriteLine(string.Concat(" <status>", this.mStatus, "</status>")); writer.WriteLine(string.Concat(" <startTime>", NextPvrDateTime.Serialize(this.mStartTime), "</startTime>")); writer.WriteLine(string.Concat(" <endTime>", NextPvrDateTime.Serialize(this.mEndTime), "</endTime>")); if (this.mExtraFields.Count > 0) { for (int i = 0; i < this.mExtraFields.Count; i++) { writer.WriteLine(string.Concat(" ", this.mExtraFields[i])); } } if (this.mEvent != null) { this.mEvent.Serialize(writer); } writer.WriteLine(" </recording>"); }
private void parseMatchRules(XmlNode rules) { int intValue; DateTime dtValue; foreach (XmlNode child in rules.ChildNodes) { switch (child.Name) { case "EPGTitle": this.mEPGTitle = child.InnerText; break; case "ChannelOID": if (int.TryParse(child.InnerText, out intValue)) { this.mChannelOID = intValue; } break; case "ChannelName": this.mChannelName = child.InnerText; break; case "StartTime": if (NextPvrDateTime.TryParse(child.InnerText, out dtValue)) { this.mStartTime = dtValue; } break; case "EndTime": if (NextPvrDateTime.TryParse(child.InnerText, out dtValue)) { this.mEndTime = dtValue; } break; case "PrePadding": if (int.TryParse(child.InnerText, out intValue)) { this.mPrePadding = intValue; } break; case "PostPadding": if (int.TryParse(child.InnerText, out intValue)) { this.mPostPadding = intValue; } break; case "Quality": if (int.TryParse(child.InnerText, out intValue)) { this.mQuality = intValue; } break; case "Keep": if (int.TryParse(child.InnerText, out intValue)) { this.mKeep = intValue; } break; case "OnlyNewEpisodes": bool onlyNewEpisodes; if (bool.TryParse(child.InnerText, out onlyNewEpisodes)) { this.mOnlyNewEpisodes = onlyNewEpisodes; } break; case "Days": DayOfWeek day; string[] dayStrs = child.InnerText.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); List <DayOfWeek> days = new List <DayOfWeek>(dayStrs.Length); for (int i = 0; i < dayStrs.Length; i++) { if (Enum.TryParse <DayOfWeek>(dayStrs[i], true, out day)) { days.Add(day); } } if (days.Count > 0) { this.mDays = days.ToArray(); } break; default: this.mExtraRules.Add(child.OuterXml); break; } } }
public RecordingEvent(XmlNode node) { int intValue; DateTime dtValue; foreach (XmlNode child in node.ChildNodes) { switch (child.Name) { case "OID": if (int.TryParse(child.InnerText, out intValue)) this.mOID = intValue; break; case "Title": this.mTitle = child.InnerText; break; case "SubTitle": this.mSubTitle = child.InnerText; break; case "Description": this.mDescription = child.InnerText; break; case "ChannelOID": if (int.TryParse(child.InnerText, out intValue)) this.mChannelOID = intValue; break; case "StartTime": if (NextPvrDateTime.TryParse(child.InnerText, out dtValue)) this.mStartTime = dtValue; break; case "EndTime": if (NextPvrDateTime.TryParse(child.InnerText, out dtValue)) this.mEndTime = dtValue; break; case "FirstRun": bool firstRun; if (bool.TryParse(child.InnerText, out firstRun)) this.mFirstRun = firstRun; break; case "OriginalAirDate": if (NextPvrDateTime.TryParse(child.InnerText, out dtValue)) this.mOriginalAirDate = dtValue; break; case "Rating": this.mRating = child.InnerText; break; case "Audio": this.mAudio = child.InnerText; break; case "Aspect": this.mAspect = child.InnerText; break; case "Quality": this.mQuality = child.InnerText; break; case "Genres": this.mGenres = new List<string>(child.ChildNodes.Count); foreach (XmlNode genre in child.ChildNodes) this.mGenres.Add(genre.InnerText); break; case "Cast": this.mCast = new List<string>(child.ChildNodes.Count); foreach (XmlNode member in child.ChildNodes) this.mCast.Add(member.InnerText); break; case "Crew": this.mCrew = new List<string>(child.ChildNodes.Count); foreach (XmlNode member in child.ChildNodes) this.mCrew.Add(member.InnerText); break; case "UniqueID": this.mUniqueID = child.InnerText; break; default: this.mExtraFields.Add(child.OuterXml); break; } } }