From 4f21cc9cc570acaa03516eea4e09b838bde395f0 Mon Sep 17 00:00:00 2001
From: inga-lovinde <52715130+inga-lovinde@users.noreply.github.com>
Date: Sun, 22 Aug 2010 12:59:59 +0000
Subject: [PATCH] IComplexSqlObjectTableSpec implemented
---
Builder/IISMainHandler/build.txt | 2 +-
Common/Common.csproj | 1 +
Common/IComplexSqlObjectTableSpec.cs | 12 ++++++++++++
Common/dataobjects/Board.cs | 6 +++++-
Common/dataobjects/Category.cs | 6 +++++-
.../request/maintenance/CleanCacheHandler.cs | 8 ++++++--
6 files changed, 30 insertions(+), 5 deletions(-)
create mode 100644 Common/IComplexSqlObjectTableSpec.cs
diff --git a/Builder/IISMainHandler/build.txt b/Builder/IISMainHandler/build.txt
index 6d706ee..721527c 100644
--- a/Builder/IISMainHandler/build.txt
+++ b/Builder/IISMainHandler/build.txt
@@ -1 +1 @@
-892
\ No newline at end of file
+896
\ No newline at end of file
diff --git a/Common/Common.csproj b/Common/Common.csproj
index 94fa863..562a994 100644
--- a/Common/Common.csproj
+++ b/Common/Common.csproj
@@ -103,6 +103,7 @@
+
diff --git a/Common/IComplexSqlObjectTableSpec.cs b/Common/IComplexSqlObjectTableSpec.cs
new file mode 100644
index 0000000..a6a197b
--- /dev/null
+++ b/Common/IComplexSqlObjectTableSpec.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace FLocal.Common {
+ public interface IComplexSqlObjectTableSpec : ISqlObjectTableSpec {
+
+ void refreshSqlObjectAndRelated(int id);
+
+ }
+}
diff --git a/Common/dataobjects/Board.cs b/Common/dataobjects/Board.cs
index 8c9e5ea..b8fb7bc 100644
--- a/Common/dataobjects/Board.cs
+++ b/Common/dataobjects/Board.cs
@@ -11,7 +11,7 @@ using FLocal.Common.actions;
namespace FLocal.Common.dataobjects {
public class Board : SqlObject {
- public class TableSpec : ISqlObjectTableSpec {
+ public class TableSpec : IComplexSqlObjectTableSpec {
public const string TABLE = "Boards";
public const string FIELD_ID = "Id";
public const string FIELD_SORTORDER = "SortOrder";
@@ -27,6 +27,10 @@ namespace FLocal.Common.dataobjects {
public string name { get { return TABLE; } }
public string idName { get { return FIELD_ID; } }
public void refreshSqlObject(int id) { Refresh(id); }
+ public void refreshSqlObjectAndRelated(int id) {
+ Refresh(id);
+ LoadById(id).subBoards_Reset();
+ }
}
public class ReadMarkerTableSpec : ISqlObjectTableSpec {
diff --git a/Common/dataobjects/Category.cs b/Common/dataobjects/Category.cs
index 58f7587..e93001a 100644
--- a/Common/dataobjects/Category.cs
+++ b/Common/dataobjects/Category.cs
@@ -9,7 +9,7 @@ using System.Xml.Linq;
namespace FLocal.Common.dataobjects {
public class Category : SqlObject {
- public class TableSpec : ISqlObjectTableSpec {
+ public class TableSpec : IComplexSqlObjectTableSpec {
public const string TABLE = "Categories";
public const string FIELD_ID = "Id";
public const string FIELD_SORTORDER = "SortOrder";
@@ -19,6 +19,10 @@ namespace FLocal.Common.dataobjects {
public string name { get { return TABLE; } }
public string idName { get { return FIELD_ID; } }
public void refreshSqlObject(int id) { Refresh(id); }
+ public void refreshSqlObjectAndRelated(int id) {
+ Refresh(id);
+ LoadById(id).subBoards_Reset();
+ }
}
protected override ISqlObjectTableSpec table { get { return TableSpec.instance; } }
diff --git a/IISMainHandler/handlers/request/maintenance/CleanCacheHandler.cs b/IISMainHandler/handlers/request/maintenance/CleanCacheHandler.cs
index 8976087..b096b6f 100644
--- a/IISMainHandler/handlers/request/maintenance/CleanCacheHandler.cs
+++ b/IISMainHandler/handlers/request/maintenance/CleanCacheHandler.cs
@@ -23,9 +23,13 @@ namespace FLocal.IISHandler.handlers.request.maintenance {
int start = int.Parse(context.httprequest.Form["start"]);
int length = int.Parse(context.httprequest.Form["length"]);
ISqlObjectTableSpec tableSpec = TableManager.TABLES[table];
- for(int i=0; i