/// <summary> /// 模拟一个 MvcContext ,访问者是未登录的游客。被访问对象是app的页面 /// </summary> /// <param name="objOwner"></param> /// <param name="appType"></param> /// <param name="appId"></param> /// <returns></returns> public static MvcContext GetOne(IMember objOwner, Type appType, int appId) { MvcContext ctx = getContextInit(); // route Route route = new wojilu.Web.Mvc.Routes.Route(); route.setAppId(appId); // 为了让生成的link链接中有appId,必须设置此项 ctx.utils.setRoute(route); // viewer: 某些地方需要判断viewer ViewerContext viewer = new ViewerContext(); viewer.obj = new User(); ctx.utils.setViewerContext(viewer); // owner OwnerContext owner = new OwnerContext(); owner.Id = objOwner.Id; owner.obj = objOwner; ctx.utils.setOwnerContext(owner); // app IAppContext app = new AppContext(); app.Id = appId; app.obj = ndb.findById(appType, appId); app.setAppType(appType); // 如果要使用alang语言包,必须设置此项 ctx.utils.setAppContext(app); return(ctx); }
/// <summary> /// 模拟一个 MvcContext ,访问者是未登录的游客。被访问对象不是app的页面 /// </summary> /// <param name="objOwner"></param> /// <returns></returns> public static MvcContext GetOne(IMember objOwner) { MvcContext ctx = getContextInit(); // route Route route = new wojilu.Web.Mvc.Routes.Route(); ctx.utils.setRoute(route); // viewer: 某些地方需要判断viewer ViewerContext viewer = new ViewerContext(); viewer.obj = new User(); ctx.utils.setViewerContext(viewer); // owner OwnerContext owner = new OwnerContext(); owner.Id = objOwner.Id; owner.obj = objOwner; ctx.utils.setOwnerContext(owner); // app IAppContext app = new AppContext(); app.obj = null; ctx.utils.setAppContext(app); return(ctx); }
public virtual void Init(MvcContext ctx) { if (ctx.utils.isEnd()) { return; } CurrentRequest.setItem("_user_factory", new UserFactory()); User user = this.getViewer(ctx); if (user.Id == UserFactory.Guest.Id && ctx.web.UserIsLogin) { signOut(ctx); return; } else if (user.Status == MemberStatus.Deleted || user.Status == MemberStatus.Approving) { signOut(ctx); return; } if (ctx.web.UserIsLogin) { loginService.UpdateLastLogin(user, ctx.Ip); } ViewerContext context = new ViewerContext(ctx); context.Id = user.Id; context.obj = user; context.IsLogin = ctx.web.UserIsLogin; ctx.utils.setViewerContext(context); }
public void Init( MvcContext ctx ) { if (ctx.utils.isEnd()) return; CurrentRequest.setItem( "_user_factory", new UserFactory() ); User user = this.getViewer( ctx ); if (user.Id == UserFactory.Guest.Id && ctx.web.UserIsLogin) { signOut( ctx ); return; } else if (user.Status == MemberStatus.Deleted || user.Status == MemberStatus.Approving) { signOut( ctx ); return; } if (ctx.web.UserIsLogin) loginService.UpdateLastLogin( user, ctx.Ip ); ViewerContext context = new ViewerContext(); context.Id = user.Id; context.obj = user; context.IsLogin = ctx.web.UserIsLogin; ctx.utils.setViewerContext( context ); }
public static MvcContext GetOne(IMember objOwner, int appId) { IWebContext webContext = MockWebContext.New(1, "http://localhost/", new System.IO.StringWriter()); MvcContext ctx = new MvcContext(webContext); // route Route route = new wojilu.Web.Mvc.Routes.Route(); route.setAppId(appId); // 为了让生成的link链接中有appId,必须设置此项 ctx.utils.setRoute(route); // viewer: 某些地方需要判断viewer ViewerContext viewer = new ViewerContext(); viewer.obj = new User(); ctx.utils.setViewerContext(viewer); // owner OwnerContext owner = new OwnerContext(); owner.Id = objOwner.Id; owner.obj = objOwner; ctx.utils.setOwnerContext(owner); // app IAppContext app = new AppContext(); app.Id = appId; app.obj = BlogApp.findById(appId); app.setAppType(typeof(BlogApp)); // 如果要使用alang语言包,必须设置此项 ctx.utils.setAppContext(app); return(ctx); }
private void initViewer(MvcContext ctx, User user) { ViewerContext context = new ViewerContext(ctx); context.Id = user.Id; context.obj = user; context.IsLogin = true; ctx.utils.setViewerContext(context); }
//-------------------------------- viewer ---------------------------------- public void InitViewer(MvcContext ctx) { ctx.setCacheCondition(new CacheCondition()); CurrentRequest.setItem("_user_factory", new UserFactory()); User user = this.getViewer(ctx); if (user.Id == UserFactory.Guest.Id && ctx.web.UserIsLogin) { signOut(ctx); return; } else if (user.Status == MemberStatus.Deleted || user.Status == MemberStatus.Approving) { signOut(ctx); return; } if (ctx.web.UserIsLogin) { loginService.UpdateLastLogin(user, ctx.Ip); } ViewerContext context = new ViewerContext(); context.Id = user.Id; context.obj = user; context.IsLogin = ctx.web.UserIsLogin; ctx.utils.setViewerContext(context); // 编辑器 if (context.IsLogin) { Link lnk = new Link(ctx); ctx.SetItem("editorUploadUrl", lnk.To(user, "Users/Admin/UserUpload", "UploadForm", -1, -1)); ctx.SetItem("editorMyPicsUrl", lnk.To(user, "Users/Admin/UserUpload", "MyPics", -1, -1)); } }
public EmployeesController(ViewerContext context) { _context = context; }
public DepartmentsController(ViewerContext context) { _context = context; }