예제 #1
0
        private static MigrationResult MigrateSingleRedirectRule(UrlRewriteModel urlRewriteModel, IRedirectRuleRepository redirectRuleRepository)
        {
            var migrationResult = new MigrationResult(urlRewriteModel.Id);

            try {
                var newRedirectRule = MapUrlRewriteToRedirectRule(urlRewriteModel);
                redirectRuleRepository.Add(newRedirectRule);
            }
            catch (Exception e)
            {
                migrationResult.ErrorMessage = e.Message;
            }

            return(migrationResult);
        }
예제 #2
0
        private static RedirectRule MapUrlRewriteToRedirectRule(UrlRewriteModel urlRewriteModel)
        {
            var redirectRule = new RedirectRule
            {
                OldPattern       = UrlPath.NormalizePath(urlRewriteModel.OldUrl),
                NewPattern       = urlRewriteModel.NewUrl,
                RedirectType     = MapStatusCodeToRedirectType(urlRewriteModel.RedirectStatusCode),
                CreatedOn        = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc),
                IsActive         = IsMigratedRedirectRuleActive(urlRewriteModel.ContentId),
                RedirectOrigin   = urlRewriteModel.ContentId != 0 ? RedirectOrigin.System : RedirectOrigin.Import,
                Notes            = "Migrated from old redirects module",
                RedirectRuleType = MapUrlRewriteTypeToRedirectRuleType(urlRewriteModel.Type)
            };

            return(redirectRule);
        }