コード例 #1
0
 public void Delete(BeatrixPage entity)
 {
     using (var session = store.OpenSession())
     {
         session.Delete<BeatrixPage>(entity);
         RebuildUrlCache(session);
     }
 }
コード例 #2
0
        public string ResolvePath(BeatrixPage page, string rawUrl)
        {
            var controllerAttribute = page
                .GetType()
                .GetCustomAttributes(true)
                .SingleOrDefault(x => typeof(ControllerAttribute).IsAssignableFrom(x.GetType())) as ControllerAttribute;

            var controllerName = (controllerAttribute != null)
                ? controllerAttribute.ControllerType.Name
                : BeatrixConventions.Instance.GetControllerNameFromPage(page);

            int urlStartIndex = (page.Url == "/")
                ? 0
                : page.Url.Length;

            return string.Concat(
                "/",
                BeatrixConventions.Instance.GetRouteFromControllerName(controllerName),
                rawUrl.Substring(urlStartIndex)
                ).TrimEnd('/').ToLower();
        }
コード例 #3
0
 protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType, BeatrixPage page)
 {
     return Container.With(page.GetType(), page).GetInstance(controllerType) as IController;
 }
コード例 #4
0
ファイル: BeatrixConventions.cs プロジェクト: Beatrix/Beatrix
 public string GetDefaultControllerNameFromPage(BeatrixPage page)
 {
     var name = page.GetType().Name;
     return string.Concat(name.Substring(0, name.LastIndexOf("Page")), "Controller");
 }
コード例 #5
0
        public BeatrixPage Insert(BeatrixPage entity)
        {
            using (var session = store.OpenSession())
            {
                session.Store(entity);
                session.SaveChanges();
                RebuildUrlCache(session);

                return entity;
            }
        }
コード例 #6
0
 public BeatrixPage Update(BeatrixPage entity)
 {
     return Insert(entity);
 }
コード例 #7
0
 protected virtual IController GetControllerInstance(RequestContext requestContext, Type controllerType, BeatrixPage page)
 {
     var constructor = controllerType.GetConstructor(new Type[] { page.GetType() });
     return constructor.Invoke(new [] { page }) as IController;
 }