Пример #1
0
        public static SiteSettingRedirectViewModel ToServiceModel(this SaveRedirectModel model)
        {
            var serviceModel = new SiteSettingRedirectViewModel();

            serviceModel.Version     = model.Version;
            serviceModel.PageUrl     = model.PageUrl;
            serviceModel.RedirectUrl = model.RedirectUrl;

            return(serviceModel);
        }
Пример #2
0
        public ActionResult DeleteRedirect(SiteSettingRedirectViewModel model)
        {
            var success = GetCommand <DeleteRedirectCommand>().ExecuteCommand(model);

            if (success)
            {
                Messages.AddSuccess(PagesGlobalization.DeleteRedirect_DeletedSuccessfully_Message);
            }

            return(Json(new WireJson(success)));
        }
Пример #3
0
        public ActionResult SaveRedirect(SiteSettingRedirectViewModel model)
        {
            if (ModelState.IsValid)
            {
                var response = GetCommand <SaveRedirectCommand>().ExecuteCommand(model);
                if (response != null)
                {
                    if (model.Id.HasDefaultValue())
                    {
                        Messages.AddSuccess(PagesGlobalization.CreateRedirect_CreatedSuccessfully_Message);
                    }
                    return(Json(new WireJson {
                        Success = true, Data = response
                    }));
                }
            }

            return(Json(new WireJson {
                Success = false
            }));
        }
Пример #4
0
        public void Should_Find_Page_And_Return_ViewModel_Successfully()
        {
            // DEBUG START
            var request = new SearchableGridOptions
            {
                SearchQuery = "a",
                PageNumber  = 2,
                PageSize    = 3,
                Column      = "PageUrl",
                Direction   = SortDirection.Descending
            };
            var sessionFactory = this.Container.Resolve <ISessionFactoryProvider>();
            // DEBUG END

            SearchableGridViewModel <SiteSettingRedirectViewModel> model;

            using (var session = sessionFactory.OpenSession())
            {
                BetterCms.Module.Pages.Models.Redirect alias      = null;
                SiteSettingRedirectViewModel           modelAlias = null;

                IQueryOver <BetterCms.Module.Pages.Models.Redirect, BetterCms.Module.Pages.Models.Redirect> query = session.QueryOver(() => alias);

                // Filter
                if (!string.IsNullOrWhiteSpace(request.SearchQuery))
                {
                    var searchQuery = string.Format("%{0}%", request.SearchQuery);
                    query = query
                            .Where(
                        Restrictions.InsensitiveLike(Projections.Property(() => alias.PageUrl), searchQuery) ||
                        Restrictions.InsensitiveLike(Projections.Property(() => alias.RedirectUrl), searchQuery));
                }

                // Select fields
                query = query
                        .SelectList(select => select
                                    .Select(() => alias.Id).WithAlias(() => modelAlias.Id)
                                    .Select(() => alias.PageUrl).WithAlias(() => modelAlias.PageUrl)
                                    .Select(() => alias.RedirectUrl).WithAlias(() => modelAlias.RedirectUrl)
                                    .Select(() => alias.Version).WithAlias(() => modelAlias.Version))
                        .TransformUsing(Transformers.AliasToBean <SiteSettingRedirectViewModel>());

                // Count
                var count = query.RowCount();

                // Sorting and paging
                query.AddSortingAndPaging(request);

                // Get results
                var redirects = query.List <SiteSettingRedirectViewModel>();

                model = new SearchableGridViewModel <SiteSettingRedirectViewModel>
                {
                    GridOptions = request,
                    Items       = new CustomPagination <SiteSettingRedirectViewModel>(redirects, request.PageNumber, request.PageSize, count)
                };
            }

            // DEBUG START
            Assert.IsNotNull(model);
            // DEBUG END
        }