private void CultureSite_InsertDelete_After(object sender, ObjectEventArgs e) { CultureSiteInfo CultureSite = (CultureSiteInfo)e.Object; string SiteName = DynamicRouteInternalHelper.GetSite(CultureSite.SiteID).SiteName; try { DynamicRouteEventHelper.SiteLanguageChanged(SiteName); } catch (UrlSlugCollisionException ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "UrlSlugConflict", $"Occurred on Culture Site Insert/Delete for Site {SiteName}"); e.Cancel(); } catch (Exception ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "Error", $"Occurred on Culture Site Insert/Delete for Site {SiteName}"); } }
private void UrlSlug_Update_After_IsCustomRebuild(object sender, ObjectEventArgs e) { UrlSlugInfo UrlSlug = (UrlSlugInfo)e.Object; RecursionControl Trigger = new RecursionControl("UrlSlugNoLongerCustom_" + UrlSlug.UrlSlugGuid); if (!Trigger.Continue) { try { // If Continue is false, then the Before update shows this needs to be rebuilt. DynamicRouteInternalHelper.RebuildRoutesByNode(UrlSlug.UrlSlugNodeID); } catch (UrlSlugCollisionException ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "UrlSlugConflict", $"Occurred on Url Slug {UrlSlug.UrlSlugID}"); e.Cancel(); } catch (Exception ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "Error", $"Occurred on Url Slug {UrlSlug.UrlSlugID}"); } } }
private void DataClass_Update_After(object sender, ObjectEventArgs e) { DataClassInfo Class = (DataClassInfo)e.Object; RecursionControl PreventDoubleClassUpdateTrigger = new RecursionControl("PreventDoubleClassUpdateTrigger_" + Class.ClassName); // If the "Continue" is false, it means that a DataClass_Update_Before found that the UrlPattern was changed // Otherwise the "Continue" will be true that this is the first time triggering it. if (!new RecursionControl("TriggerClassUpdateAfter_" + Class.ClassName).Continue&& PreventDoubleClassUpdateTrigger.Continue) { try { DynamicRouteEventHelper.ClassUrlPatternChanged(Class.ClassName); } catch (UrlSlugCollisionException ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "UrlSlugConflict", $"Occurred on Class Update After for class {Class.ClassName}"); e.Cancel(); } catch (Exception ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "Error", $"Occurred on Class Update After for class {Class.ClassName}"); } } }
private void SettingsKey_InsertUpdate_After(object sender, ObjectEventArgs e) { SettingsKeyInfo Key = (SettingsKeyInfo)e.Object; switch (Key.KeyName.ToLower()) { case "cmsdefaultculturecode": try { if (Key.SiteID > 0) { string SiteName = DynamicRouteInternalHelper.GetSite(Key.SiteID).SiteName; DynamicRouteEventHelper.SiteDefaultLanguageChanged(SiteName); } else { foreach (string SiteName in SiteInfoProvider.GetSites().Select(x => x.SiteName)) { DynamicRouteEventHelper.SiteDefaultLanguageChanged(SiteName); } } } catch (UrlSlugCollisionException ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "UrlSlugConflict", $"Occurred on Settings Key Update After for Key {Key.KeyName}"); e.Cancel(); } catch (Exception ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "Error", $"Occurred on Settings Key Update After for Key {Key.KeyName}"); } break; case "generateculturevariationurlslugs": try { if (Key.SiteID > 0) { string SiteName = DynamicRouteInternalHelper.GetSite(Key.SiteID).SiteName; DynamicRouteEventHelper.CultureVariationSettingsChanged(SiteName); } else { foreach (string SiteName in SiteInfoProvider.GetSites().Select(x => x.SiteName)) { DynamicRouteEventHelper.CultureVariationSettingsChanged(SiteName); } } } catch (UrlSlugCollisionException ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "UrlSlugConflict", $"Occurred on Settings Key Update After for Key {Key.KeyName}"); e.Cancel(); } catch (Exception ex) { LogErrorsInSeparateThread(ex, "DynamicRouting", "Error", $"Occurred on Settings Key Update After for Key {Key.KeyName}"); } break; } }