Example #1
0
        protected UserContext LogOn(bool remember, IUserService userService, Func <IUserService, UserContext> logOnAction)
        {
            var context = logOnAction(userService);

            if (context != null)
            {
                ChalkableAuthentication.SignIn(context, false);
                if (context.DeveloperId.HasValue && !DemoUserService.IsDemoUser(context))
                {
                    DeveloperAuthentication.SignIn(context, remember);
                }
            }
            return(context);
        }
        public ActionResult TestApps(string prefix)
        {
            var context = LogOn(false, userService => userService.DemoLogin(CoreRoles.TEACHER_ROLE.LoweredName, prefix));

            if (context == null)
            {
                return(Json(new ChalkableException(string.Format(ChlkResources.USER_NOT_FOUND_IN_DEMO_SCHOOL, CoreRoles.TEACHER_ROLE.LoweredName, prefix))));
            }
            var developer = SchoolLocator.ServiceLocatorMaster.DeveloperService.GetDeveloperByDictrict(Guid.Parse(prefix));

            if (developer != null)
            {
                var devContext = SchoolLocator.ServiceLocatorMaster.UserService.DeveloperTestLogin(developer);
                if (devContext != null)
                {
                    DeveloperAuthentication.SignIn(devContext, true);
                }
                return(Redirect <HomeController>(c => c.Teacher()));
            }
            throw new ChalkableSecurityException(ChlkResources.ERR_DEMO_SCHOOL_INCORRECT_ROLE);
        }