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 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; }
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; }
//-------------------------------- 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 ) ); } }
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 ); }