public ActionResult IgnoreRedirect(string oldUrl, int pageNumber, string searchWord, int pageSize) { CheckAccess(); // delete rows from DB var dbAccess = DataAccessBaseEx.GetWorker(); dbAccess.DeleteRowsForRequest(oldUrl); // add redirect to dds with state "ignored" var redirect = new CustomRedirect(); redirect.OldUrl = oldUrl; redirect.State = Convert.ToInt32(DataStoreHandler.State.Ignored); DataStoreHandler dsHandler = new DataStoreHandler(); dsHandler.SaveCustomRedirect(redirect); DataStoreEventHandlerHook.DataStoreUpdated(); List <CustomRedirect> customRedirectList = GetSuggestions(searchWord); string actionInfo = string.Format(LocalizationService.Current.GetString("/gadget/redirects/ignoreredirect"), oldUrl); RedirectIndexViewData viewData = GetRedirectIndexViewData(pageNumber, customRedirectList, actionInfo, searchWord, pageSize, true, true); viewData.HighestSuggestionValue = customRedirectList.First().NotfoundErrorCount; viewData.LowestSuggestionValue = customRedirectList.Last().NotfoundErrorCount; return(View("Index", viewData)); }
public ActionResult AddDeletedUrl(string oldUrl) { CheckAccess(); // add redirect to dds with state "deleted" var redirect = new CustomRedirect(); redirect.OldUrl = oldUrl; redirect.State = Convert.ToInt32(DataStoreHandler.State.Deleted); DataStoreHandler dsHandler = new DataStoreHandler(); dsHandler.SaveCustomRedirect(redirect); DataStoreEventHandlerHook.DataStoreUpdated(); // delete rows from DB var dbAccess = DataAccessBaseEx.GetWorker(); dbAccess.DeleteRowsForRequest(oldUrl); // List <CustomRedirect> customRedirectList = GetDeletedUrls(); DataStoreEventHandlerHook.DataStoreUpdated(); return(Deleted()); }
public ActionResult AddDeletedUrl(string oldUrl, int siteId = 0) { CheckAccess(); if (siteId <= 0) { siteId = DataHandler.GetCurrentSiteId(); } // add redirect to dds with state "deleted" var redirect = new CustomRedirect { OldUrl = oldUrl, SiteId = siteId, State = Convert.ToInt32(DataStoreHandler.State.Deleted) }; DataStoreHandler dsHandler = new DataStoreHandler(); dsHandler.SaveCustomRedirect(redirect); DataStoreEventHandlerHook.DataStoreUpdated(); // delete rows from DB var dbAccess = DataAccessBaseEx.GetWorker(); dbAccess.DeleteRowsForRequest(oldUrl, siteId); //TODO why this? List <CustomRedirect> customRedirectList = GetDeletedUrls(siteId); DataStoreEventHandlerHook.DataStoreUpdated(); return(Deleted(siteId)); }
public void SaveRedirect(string oldUrl, string newUrl, string skipWildCardAppend) { Logger.Debug("Adding redirect: '{0}' -> '{1}'", oldUrl, newUrl); // Get hold of the datastore DataStoreHandler dsHandler = new DataStoreHandler(); dsHandler.SaveCustomRedirect(new CustomRedirect(oldUrl.Trim(), newUrl.Trim(), skipWildCardAppend == null ? false : true)); DataStoreEventHandlerHook.DataStoreUpdated(); }
/// <summary> /// Save a collection of redirects, and call method to raise an event in order to clear cache on all servers. /// </summary> /// <param name="redirects"></param> public void SaveCustomRedirects(CustomRedirectCollection redirects) { var dynamicHandler = new DataStoreHandler(); foreach (CustomRedirect redirect in redirects) { // Add redirect dynamicHandler.SaveCustomRedirect(redirect); } DataStoreEventHandlerHook.DataStoreUpdated(); }
/// <summary> /// Save a collection of redirects, and call method to raise an event in order to clear cache on all servers. /// </summary> /// <param name="redirects"></param> public void SaveCustomRedirects(CustomRedirectCollection redirects) { var dynamicHandler = new DataStoreHandler(); foreach (CustomRedirect redirect in redirects) { // Add redirect dynamicHandler.SaveCustomRedirect(redirect); } ClearCache(); }
public void SaveRedirect(string oldUrl, string newUrl, string skipWildCardAppend, int siteId = 0) { if (siteId <= 0) { siteId = DataHandler.GetCurrentSiteId(); } Logger.Debug("Adding redirect for site {2}: '{0}' -> '{1}'", oldUrl, newUrl, siteId); // Get hold of the datastore DataStoreHandler dsHandler = new DataStoreHandler(); dsHandler.SaveCustomRedirect(new CustomRedirect(oldUrl.Trim(), newUrl.Trim(), skipWildCardAppend != null, siteId)); DataStoreEventHandlerHook.DataStoreUpdated(); }
/// <summary> /// Save a collection of redirects, and call method to raise an event in order to clear cache on all servers. /// </summary> /// <param name="redirects"></param> public void SaveCustomRedirects(CustomRedirectCollection redirects) { DataStoreHandler dynamicHandler = new DataStoreHandler(); var siteId = DataHandler.GetCurrentSiteId(); foreach (CustomRedirect redirect in redirects) { if (redirect.SiteId <= 0) { redirect.SiteId = siteId; } // Add redirect dynamicHandler.SaveCustomRedirect(redirect); } DataStoreEventHandlerHook.DataStoreUpdated(); }
/// <summary> /// Create redirects table and SP for version number /// </summary> private static void Create() { bool create = true; var dba = DataAccessBaseEx.GetWorker(); _log.Information("Create 404 handler redirects table START"); string createTableScript = @"CREATE TABLE [dbo].[BVN.NotFoundRequests]( [ID] [int] IDENTITY(1,1) NOT NULL, [OldUrl] [nvarchar](2000) NOT NULL, [Requested] [datetime] NULL, [Referer] [nvarchar](2000) NULL ) ON [PRIMARY]"; create = dba.ExecuteNonQuery(createTableScript); _log.Information("Create 404 handler redirects table END"); if (create) { _log.Information("Create 404 handler version SP START"); string versionSP = @"CREATE PROCEDURE [dbo].[bvn_notfoundversion] AS RETURN " + Configuration.Configuration.CURRENT_VERSION; if (!dba.ExecuteNonQuery(versionSP)) { create = false; _log.Error("An error occured during the creation of the 404 handler version stored procedure. Canceling."); } _log.Information("Create 404 handler version SP END"); } if (create) { _log.Information("Create Clustered index START"); string clusteredIndex = "CREATE CLUSTERED INDEX NotFoundRequests_ID ON [dbo].[BVN.NotFoundRequests] (ID)"; if (!dba.ExecuteNonQuery(clusteredIndex)) { create = false; _log.Error("An error occurred during the creation of the 404 handler redirects clustered index. Canceling."); } _log.Information("Create Clustered index END"); } Valid = create; // copy dds items, if there are any. try { // the old redirect class is obsolete, and should only be used for this upgrade #pragma warning disable CS0618 var oldCustomrRedirectStore = DataStoreFactory.GetStore(typeof(FileNotFound.CustomRedirects.CustomRedirect)); var oldCustomRedirects = oldCustomrRedirectStore.Items <FileNotFound.CustomRedirects.CustomRedirect>().ToList(); #pragma warning restore CS0618 if (oldCustomRedirects.Count > 0) { var newCustomrRedirectStore = DataStoreFactory.GetStore(typeof(CustomRedirect)); DataStoreHandler dsHandler = new DataStoreHandler(); foreach (var oldCustomRedirect in oldCustomRedirects) { var newRedirect = new CustomRedirect(oldCustomRedirect.OldUrl, oldCustomRedirect.NewUrl, oldCustomRedirect.WildCardSkipAppend); dsHandler.SaveCustomRedirect(newRedirect); } // oldCustomrRedirectStore.DeleteAll(); } } catch (Exception ex) { _log.Error("Error during DDS upgrade: " + ex); } }