public Error.Types Create( SiteSettings ss, RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool paramAll = false, bool get = true) { PasswordExpirationPeriod(); var statements = CreateStatements(ss, tableType, param, paramAll); try { var newId = Rds.ExecuteScalar_int( transactional: true, statements: statements.ToArray()); UserId = newId != 0 ? newId : UserId; } catch (System.Data.SqlClient.SqlException e) { if (e.Number == 2601) { return(Error.Types.LoginIdAlreadyUse); } else { throw; } } if (get) { Get(ss); } return(Error.Types.None); }
public Error.Types UpdateOrCreate( Context context, SiteSettings ss, RdsUser rdsUser = null, SqlWhereCollection where = null, SqlParamCollection param = null) { SetBySession(context: context); var statements = new List <SqlStatement> { Rds.InsertItems( setIdentity: true, param: Rds.ItemsParam() .ReferenceType("Wikis") .SiteId(SiteId) .Title(Title.DisplayValue)), Rds.UpdateOrInsertWikis( where : where ?? Rds.WikisWhereDefault(this), param: param ?? Rds.WikisParamDefault( context: context, wikiModel: this, setDefault: true)) }; var response = Rds.ExecuteScalar_response( context: context, transactional: true, selectIdentity: true, statements: statements.ToArray()); WikiId = (response.Identity ?? WikiId).ToLong(); Get(context: context, ss: ss); Libraries.Search.Indexes.Create(context, ss, this); return(Error.Types.None); }
public Error.Types Update( RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool paramAll = false, bool get = true) { SetBySession(); var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); UpdateStatements(statements, timestamp, param, paramAll, additionalStatements); var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } if (get) { Get(); } var siteModel = new ItemModel(ReferenceId).GetSite(); var ss = SiteSettingsUtilities.Get(siteModel, siteModel.SiteId); Libraries.Search.Indexes.Create(ss, ReferenceId, force: true); return(Error.Types.None); }
public Error.Types Update( RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool otherInitValue = false, bool get = true) { SetBySession(); var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); UpdateStatements(statements, timestamp, param, otherInitValue, additionalStatements); var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } if (get) { Get(); } return(Error.Types.None); }
public void UpdateRelatedRecords( SiteSettings ss, RdsUser rdsUser = null, bool addUpdatedTimeParam = true, bool addUpdatorParam = true, bool updateItems = true) { Rds.ExecuteNonQuery( rdsUser: rdsUser, transactional: true, statements: new SqlStatement[] { Rds.UpdateItems( where : Rds.ItemsWhere().ReferenceId(WikiId), param: Rds.ItemsParam() .SiteId(SiteId) .Title(WikiUtilities.TitleDisplayValue(ss, this)), addUpdatedTimeParam: addUpdatedTimeParam, addUpdatorParam: addUpdatorParam, _using: updateItems), Rds.PhysicalDeleteLinks( where : Rds.LinksWhere().SourceId(WikiId)), InsertLinks(ss), Rds.UpdateSites( where : Rds.SitesWhere().SiteId(SiteId), param: Rds.SitesParam().Title(Title.Value)) }); Libraries.Search.Indexes.Create(ss, this); }
public Error.Types Update( SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool paramAll = false, bool get = true) { SetBySession(); var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); UpdateStatements(statements, timestamp, param, paramAll, additionalStatements); var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } if (get) { Get(ss); } SiteInfo.Reflesh(); return(Error.Types.None); }
public Error.Types UpdateOrCreate( Context context, SiteSettings ss, RdsUser rdsUser = null, SqlWhereCollection where = null, SqlParamCollection param = null) { SetBySession(context: context); var statements = new List <SqlStatement> { Rds.UpdateOrInsertDepts( where : where ?? Rds.DeptsWhereDefault(this), param: param ?? Rds.DeptsParamDefault( context: context, deptModel: this, setDefault: true)), StatusUtilities.UpdateStatus( tenantId: context.TenantId, type: StatusUtilities.Types.DeptsUpdated), }; var response = Rds.ExecuteScalar_response( context: context, transactional: true, selectIdentity: true, statements: statements.ToArray()); DeptId = (response.Identity ?? DeptId).ToInt(); Get(context: context, ss: ss); return(Error.Types.None); }
public void SetBySession(bool empty = false) { LoginId = HttpContext.Current?.User?.Identity.Name; if (HttpContext.Current?.Session != null && !empty) { TenantId = HttpContext.Current.Session["TenantId"].ToInt(); DeptId = HttpContext.Current.Session["DeptId"].ToInt(); UserId = HttpContext.Current.Session["UserId"].ToInt(); Dept = SiteInfo.Dept(tenantId: TenantId, deptId: DeptId); User = SiteInfo.User(context: this, userId: UserId); Language = HttpContext.Current.Session["Language"].ToStr(); Developer = HttpContext.Current.Session["Developer"].ToBool(); TimeZoneInfo = HttpContext.Current.Session["TimeZoneInfo"] as TimeZoneInfo; RdsUser = HttpContext.Current?.Session?["RdsUser"] as RdsUser; UserSettings = HttpContext.Current.Session["UserSettings"]? .ToString() .Deserialize <UserSettings>() ?? new UserSettings(); HasPrivilege = HttpContext.Current.Session["HasPrivilege"].ToBool(); Controller = GetController(); Action = GetAction(); Id = GetId(); SetTenantCaches(); } }
public Error.Types Update( SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool otherInitValue = false, bool setBySession = true, bool get = true) { if (setBySession) { SetBySession(); } var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); UpdateStatements(statements, timestamp, param, otherInitValue, additionalStatements); var response = Rds.ExecuteScalar_response( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (response.Count == 0) { return(Error.Types.UpdateConflicts); } if (get) { Get(ss); } statements = new List <SqlStatement> { Rds.PhysicalDeleteGroupMembers( where : Rds.GroupMembersWhere() .GroupId(GroupId)) }; Forms.List("CurrentMembersAll").ForEach(data => { if (data.StartsWith("Dept,")) { statements.Add(Rds.InsertGroupMembers( param: Rds.GroupMembersParam() .GroupId(GroupId) .DeptId(data.Split_2nd().ToInt()) .Admin(data.Split_3rd().ToBool()))); } if (data.StartsWith("User,")) { statements.Add(Rds.InsertGroupMembers( param: Rds.GroupMembersParam() .GroupId(GroupId) .UserId(data.Split_2nd().ToInt()) .Admin(data.Split_3rd().ToBool()))); } }); Rds.ExecuteNonQuery(transactional: true, statements: statements.ToArray()); return(Error.Types.None); }
public Error.Types UpdateOrCreate( SiteSettings ss, RdsUser rdsUser = null, SqlWhereCollection where = null, SqlParamCollection param = null) { SetBySession(); var statements = new List <SqlStatement> { Rds.InsertItems( selectIdentity: true, param: Rds.ItemsParam() .ReferenceType("Wikis") .SiteId(SiteId) .Title(Title.DisplayValue)), Rds.UpdateOrInsertWikis( selectIdentity: true, where : where ?? Rds.WikisWhereDefault(this), param: param ?? Rds.WikisParamDefault(this, setDefault: true)) }; var newId = Rds.ExecuteScalar_long( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); WikiId = newId != 0 ? newId : WikiId; Get(ss); Libraries.Search.Indexes.Create(ss, this); return(Error.Types.None); }
public Error.Types Create( SiteSettings ss, RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool notice = false, bool paramAll = false) { var statements = CreateStatements(ss, tableType, param, paramAll); var newId = Rds.ExecuteScalar_long( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); WikiId = newId != 0 ? newId : WikiId; if (Contract.Notice() && notice) { CheckNotificationConditions(ss); Notice(ss, "Created"); } Get(ss); Rds.ExecuteNonQuery( rdsUser: rdsUser, statements: Rds.UpdateItems( param: Rds.ItemsParam() .Title(WikiUtilities.TitleDisplayValue(ss, this)), where : Rds.ItemsWhere().ReferenceId(WikiId))); Libraries.Search.Indexes.Create(ss, this); return(Error.Types.None); }
public Error.Types Create( SiteSettings ss, RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool extendedSqls = true, bool notice = false, bool otherInitValue = false, bool get = true) { var statements = new List <SqlStatement>(); if (extendedSqls) { statements.OnCreatingExtendedSqls(SiteId); } CreateStatements(ss, statements, tableType, param, otherInitValue); var response = Rds.ExecuteScalar_response( rdsUser: rdsUser, transactional: true, selectIdentity: true, statements: statements.ToArray()); WikiId = (response.Identity ?? WikiId).ToLong(); if (Contract.Notice() && notice) { SetTitle(ss); CheckNotificationConditions(ss); Notice(ss, "Created"); } if (get) { Get(ss); } var fullText = FullText(ss, onCreating: true); statements = new List <SqlStatement>(); statements.Add(Rds.UpdateItems( param: Rds.ItemsParam() .Title(Title.DisplayValue) .FullText(fullText, _using: fullText != null) .SearchIndexCreatedTime(DateTime.Now, _using: fullText != null), where : Rds.ItemsWhere().ReferenceId(WikiId))); statements.Add(BinaryUtilities.UpdateReferenceId(ss, WikiId, fullText)); if (extendedSqls) { statements.OnCreatedExtendedSqls(SiteId, WikiId); } Rds.ExecuteNonQuery( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); Libraries.Search.Indexes.Create(ss, this); if (get && Rds.ExtendedSqls(SiteId, WikiId)?.Any(o => o.OnCreated) == true) { Get(ss); } return(Error.Types.None); }
public Error.Types Update( SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, bool extendedSqls = true, bool synchronizeSummary = true, bool forceSynchronizeSourceSummary = false, bool notice = false, RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool paramAll = false, bool get = true) { if (Contract.Notice() && notice) { CheckNotificationConditions(ss, before: true); } SetBySession(); var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); if (extendedSqls) { statements.OnUpdatingExtendedSqls(SiteId, WikiId, timestamp); } UpdateStatements(statements, timestamp, param, paramAll, additionalStatements); if (permissionChanged) { statements.UpdatePermissions(ss, WikiId, permissions); } var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } if (Contract.Notice() && notice) { CheckNotificationConditions(ss); Notice(ss, "Updated"); } if (get) { Get(ss); } UpdateRelatedRecords(ss, extendedSqls); if (get && Rds.ExtendedSqls(SiteId, WikiId)?.Any(o => o.OnUpdated) == true) { Get(ss); } SiteInfo.Reflesh(); return(Error.Types.None); }
public Error.Types Create( SiteSettings ss, RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool extendedSqls = true, bool notice = false, bool paramAll = false, bool get = true) { var statements = new List <SqlStatement>(); if (extendedSqls) { statements.OnCreatingExtendedSqls(SiteId, WikiId); } CreateStatements(statements, ss, tableType, param, paramAll); if (extendedSqls) { statements.OnCreatedExtendedSqls(SiteId, WikiId); } var newId = Rds.ExecuteScalar_long( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); WikiId = newId != 0 ? newId : WikiId; if (Contract.Notice() && notice) { SetTitle(ss); CheckNotificationConditions(ss); Notice(ss, "Created"); } if (get) { Get(ss); } var fullText = FullText(ss, onCreating: true); Rds.ExecuteNonQuery( rdsUser: rdsUser, statements: Rds.UpdateItems( param: Rds.ItemsParam() .Title(Title.DisplayValue) .FullText(fullText, _using: fullText != null) .SearchIndexCreatedTime(DateTime.Now, _using: fullText != null), where : Rds.ItemsWhere().ReferenceId(WikiId))); Libraries.Search.Indexes.Create(ss, this); return(Error.Types.None); }
public Error.Types Update( SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, RdsUser rdsUser = null, SqlParamCollection param = null, bool paramAll = false) { SetBySession(); var statements = UpdateStatements(param, paramAll); var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } Get(ss); statements = new List <SqlStatement> { Rds.PhysicalDeleteGroupMembers( where : Rds.GroupMembersWhere() .GroupId(GroupId)) }; Forms.List("CurrentMembersAll").ForEach(data => { if (data.StartsWith("Dept,")) { statements.Add(Rds.InsertGroupMembers( param: Rds.GroupMembersParam() .GroupId(GroupId) .DeptId(data.Split_2nd().ToInt()) .Admin(data.Split_3rd().ToBool()))); } if (data.StartsWith("User,")) { statements.Add(Rds.InsertGroupMembers( param: Rds.GroupMembersParam() .GroupId(GroupId) .UserId(data.Split_2nd().ToInt()) .Admin(data.Split_3rd().ToBool()))); } }); Rds.ExecuteNonQuery(transactional: true, statements: statements.ToArray()); return(Error.Types.None); }
public Error.Types Create( RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool paramAll = false) { var statements = CreateStatements(tableType, param, paramAll); var newId = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); TenantId = newId != 0 ? newId : TenantId; Get(); return(Error.Types.None); }
public Error.Types Update( SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool paramAll = false, bool get = true) { SetBySession(); var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); UpdateStatements(statements, timestamp, param, paramAll, additionalStatements); try { var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } } catch (System.Data.SqlClient.SqlException e) { if (e.Number == 2601) { return(Error.Types.LoginIdAlreadyUse); } else { throw; } } if (get) { Get(ss); } UpdateMailAddresses(); SetSiteInfo(); return(Error.Types.None); }
public Error.Types Update( SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, bool synchronizeSummary = true, bool forceSynchronizeSourceSummary = false, bool notice = false, RdsUser rdsUser = null, SqlParamCollection param = null, bool paramAll = false, bool get = true) { if (Contract.Notice() && notice) { CheckNotificationConditions(ss, before: true); } SetBySession(); var statements = UpdateStatements(param, paramAll); if (permissionChanged) { statements.UpdatePermissions(ss, WikiId, permissions); } var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } if (Contract.Notice() && notice) { CheckNotificationConditions(ss); Notice(ss, "Updated"); } if (get) { Get(ss); } UpdateRelatedRecords(ss); SiteInfo.Reflesh(); return(Error.Types.None); }
public Error.Types Create( RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool otherInitValue = false, bool get = true) { var statements = new List<SqlStatement>(); CreateStatements(statements, tableType, param, otherInitValue); var response = Rds.ExecuteScalar_response( rdsUser: rdsUser, transactional: true, selectIdentity: true, statements: statements.ToArray()); OutgoingMailId = (response.Identity ?? OutgoingMailId).ToLong(); if (get) Get(); return Error.Types.None; }
public Error.Types Update( RdsUser rdsUser = null, SqlParamCollection param = null, bool paramAll = false) { SetBySession(); var statements = UpdateStatements(param, paramAll); var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } Get(); return(Error.Types.None); }
public Error.Types Update( Context context, SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool otherInitValue = false, bool setBySession = true, bool get = true) { if (setBySession) { SetBySession(context: context); } var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); UpdateStatements( context: context, ss: ss, statements: statements, timestamp: timestamp, param: param, otherInitValue: otherInitValue, additionalStatements: additionalStatements); var response = Rds.ExecuteScalar_response( context: context, transactional: true, statements: statements.ToArray()); if (response.Count == 0) { return(Error.Types.UpdateConflicts); } if (get) { Get(context: context, ss: ss); } SiteInfo.Reflesh(context: context); return(Error.Types.None); }
public void UpdateRelatedRecords( Context context, SiteSettings ss, bool extendedSqls, RdsUser rdsUser = null, bool addUpdatedTimeParam = true, bool addUpdatorParam = true, bool updateItems = true) { var fullText = FullText(context, ss: ss); var statements = new List <SqlStatement>(); statements.Add(Rds.UpdateItems( where : Rds.ItemsWhere().ReferenceId(WikiId), param: Rds.ItemsParam() .SiteId(SiteId) .Title(Title.DisplayValue) .FullText(fullText, _using: fullText != null) .SearchIndexCreatedTime(DateTime.Now, _using: fullText != null), addUpdatedTimeParam: addUpdatedTimeParam, addUpdatorParam: addUpdatorParam, _using: updateItems)); statements.Add(Rds.UpdateSites( where : Rds.SitesWhere().SiteId(SiteId), param: Rds.SitesParam().Title(Title.Value))); if (extendedSqls) { statements.OnUpdatedExtendedSqls(SiteId, WikiId); } Rds.ExecuteNonQuery( context: context, transactional: true, statements: statements.ToArray()); if (ss.Sources?.Any() == true) { ItemUtilities.UpdateTitles( context: context, siteId: SiteId, id: WikiId); } Libraries.Search.Indexes.Create(context, ss, this); }
public Error.Types Create( RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool paramAll = false, bool get = true) { var statements = CreateStatements(tableType, param, paramAll); var newId = Rds.ExecuteScalar_long( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); HealthId = newId != 0 ? newId : HealthId; if (get) { Get(); } return(Error.Types.None); }
public Error.Types Update( Context context, SiteSettings ss, RdsUser rdsUser = null, SqlParamCollection param = null, List <SqlStatement> additionalStatements = null, bool otherInitValue = false, bool setBySession = true, bool get = true) { if (setBySession) { SetBySession(context: context); } var timestamp = Timestamp.ToDateTime(); var statements = new List <SqlStatement>(); UpdateStatements( context: context, ss: ss, statements: statements, timestamp: timestamp, param: param, otherInitValue: otherInitValue, additionalStatements: additionalStatements); var response = Rds.ExecuteScalar_response( context: context, transactional: true, statements: statements.ToArray()); if (response.Count == 0) { return(Error.Types.UpdateConflicts); } if (get) { Get(context: context); } Libraries.Search.Indexes.Create(context, ss, ReferenceId, force: true); return(Error.Types.None); }
public Error.Types UpdateOrCreate( RdsUser rdsUser = null, SqlWhereCollection where = null, SqlParamCollection param = null) { SetBySession(); var statements = new List<SqlStatement> { Rds.UpdateOrInsertOutgoingMails( where: where ?? Rds.OutgoingMailsWhereDefault(this), param: param ?? Rds.OutgoingMailsParamDefault(this, setDefault: true)) }; var response = Rds.ExecuteScalar_response( rdsUser: rdsUser, transactional: true, selectIdentity: true, statements: statements.ToArray()); OutgoingMailId = (response.Identity ?? OutgoingMailId).ToLong(); Get(); return Error.Types.None; }
public Error.Types Create( SiteSettings ss, RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool paramAll = false, bool get = true) { var statements = CreateStatements(ss, tableType, param, paramAll); var newId = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); DeptId = newId != 0 ? newId : DeptId; if (get) { Get(ss); } return(Error.Types.None); }
public Error.Types UpdateOrCreate( RdsUser rdsUser = null, SqlWhereCollection where = null, SqlParamCollection param = null) { SetBySession(); var statements = new List <SqlStatement> { Rds.UpdateOrInsertBinaries( selectIdentity: true, where : where ?? Rds.BinariesWhereDefault(this), param: param ?? Rds.BinariesParamDefault(this, setDefault: true)) }; var newId = Rds.ExecuteScalar_long( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); BinaryId = newId != 0 ? newId : BinaryId; Get(); return(Error.Types.None); }
public Error.Types Create( RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool otherInitValue = false, bool get = true) { var statements = new List <SqlStatement>(); CreateStatements(statements, tableType, param, otherInitValue); var newId = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); DemoId = newId != 0 ? newId : DemoId; if (get) { Get(); } return(Error.Types.None); }
public Error.Types Create( RdsUser rdsUser = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlParamCollection param = null, bool paramAll = false, bool get = true) { Size = Bin.Length; var statements = new List <SqlStatement>(); CreateStatements(statements, tableType, param, paramAll); var newId = Rds.ExecuteScalar_long( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); BinaryId = newId != 0 ? newId : BinaryId; if (get) { Get(); } return(Error.Types.None); }
public Error.Types Update( SiteSettings ss, IEnumerable <string> permissions = null, bool permissionChanged = false, RdsUser rdsUser = null, SqlParamCollection param = null, bool paramAll = false) { SetBySession(); var statements = UpdateStatements(param, paramAll); var count = Rds.ExecuteScalar_int( rdsUser: rdsUser, transactional: true, statements: statements.ToArray()); if (count == 0) { return(Error.Types.UpdateConflicts); } Get(ss); SiteInfo.Reflesh(); return(Error.Types.None); }