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