/// <summary> /// Startet einen neuen Forum-Thread und speichert darin den neuen Artikel. /// </summary> /// <param name="threadFile"></param> /// <param name="name"></param> /// <param name="email"></param> /// <param name="title"></param> /// <param name="text"></param> public void AddForumArticle(string threadFile, string name, string email, string title, string text) { object objLock = new object(); lock (objLock) { // Existiert das Thread-File bereits, so ist etwas schief gelaufen und // die Daten dürfen hier nicht gespeichert werden. if (!File.Exists(GetDataPath(threadFile))) { // Laden der Forumsdaten. ForumData CurrentForumData = ThreadRootData; // Merken des aktuellen Zeitpunktes. DateTime CurrentDate = DateTime.Now; // Speichern des neuen Artikels. ForumData.ForumRow fRow = CurrentForumData.Forum.NewForumRow(); fRow.ThreadFile = HttpUtility.HtmlEncode(threadFile); fRow.DateTime = CurrentDate; fRow.Author = HttpUtility.HtmlEncode(name); fRow.Email = HttpUtility.HtmlEncode(email); fRow.Title = HttpUtility.HtmlEncode(title); fRow.Text = HttpUtility.HtmlEncode(text); fRow.CommentCount = 0; CurrentForumData.Forum.AddForumRow(fRow); ThreadRootData = CurrentForumData; // Erzeugen des Thread-Datenobjektes. ThreadData CurrentThreadData = GetThreadData(threadFile); // Speichern des neuen Artikels. ThreadData.ThreadRow tRow = CurrentThreadData.Thread.NewThreadRow(); tRow.Title = HttpUtility.HtmlEncode(title); tRow.Text = HttpUtility.HtmlEncode(text); tRow.Author = HttpUtility.HtmlEncode(name); tRow.Email = HttpUtility.HtmlEncode(email); tRow.DateTime = CurrentDate; tRow.Id = 0; CurrentThreadData.Thread.AddThreadRow(tRow); WriteThreadData(CurrentThreadData, threadFile); } } }
/// <summary> /// Speichert einen neuen Artikel innerhalb eines bestehenden Threads. /// </summary> /// <param name="threadFile"></param> /// <param name="parentMessage"></param> /// <param name="name"></param> /// <param name="email"></param> /// <param name="title"></param> /// <param name="text"></param> public void AddThreadArticle(string threadFile, int parentMessage, string name, string email, string title, string text) { object objLock = new object(); lock (objLock) { // Existiert das Thread-File nicht, so ist etwas schief gelaufen und // die Daten dürfen hier nicht gespeichert werden. if (File.Exists(GetDataPath(threadFile))) { // Merken des aktuellen Zeitpunktes. DateTime CurrentDate = DateTime.Now; // Erzeugen des Thread-Datenobjektes. ThreadData CurrentThreadData = GetThreadData(threadFile); // Speichern des neuen Artikels. ThreadData.ThreadRow tRow = CurrentThreadData.Thread.NewThreadRow(); tRow.Title = HttpUtility.HtmlEncode(title); tRow.Text = HttpUtility.HtmlEncode(text); tRow.Author = HttpUtility.HtmlEncode(name); tRow.Email = HttpUtility.HtmlEncode(email); tRow.DateTime = CurrentDate; tRow.Parent = parentMessage; CurrentThreadData.Thread.AddThreadRow(tRow); WriteThreadData(CurrentThreadData, threadFile); // Laden der Forumsdaten. ForumData CurrentForumData = ThreadRootData; // Holen der entsprechenden Zeile. ForumData.ForumRow fRow = (ForumData.ForumRow)CurrentForumData.Forum.Select("ThreadFile = '" + threadFile + "'", "DateTime DESC")[0]; fRow.DateTime = CurrentDate; fRow.CommentCount = CurrentThreadData.Thread.Rows.Count - 1; fRow.LastPosterName = HttpUtility.HtmlEncode(name); ThreadRootData = CurrentForumData; } } }