コード例 #1
0
        private UserContext DemoUserLogin(User user, UnitOfWork uow, int?schoolYearId = null)
        {
            if (user == null)
            {
                return(null);
            }
            if (!user.District.IsDemoDistrict)
            {
                throw new ChalkableException("This login is allowed to demo district only");
            }

            Guid?developerId = null;
            var  developer   = new DeveloperDataAccess(uow).GetDeveloper(user.District.Id);

            if (developer != null)
            {
                developerId = developer.Id;
            }
            var schoolUser = user.SchoolUsers.First();
            var schoolYear = DemoSchoolYearService.GetDemoSchoolYear();
            int roleId;
            var personId = DemoPersonService.GetPersonDataForLogin(schoolUser.User, out roleId);
            var res      = new UserContext(user, CoreRoles.GetById(roleId), user.District, schoolUser.School, developerId, personId, null, schoolYear)
            {
                Claims = ClaimInfo.Create(DemoUserService.GetDemoClaims())
            };

            return(res);
        }
コード例 #2
0
ファイル: ServiceLocator.cs プロジェクト: VijayMVC/chalkable
        private static UserContext CreateUserContext(SchoolUser schoolUser, Data.School.Model.SchoolYear schoolYear = null)
        {
            int roleId;

            int personId = schoolUser.User.IsDemoUser
                ? DemoPersonService.GetPersonDataForLogin(schoolUser.User, out roleId)
                : PersonDataAccess.GetPersonDataForLogin(schoolUser.User.District.ServerUrl,
                                                         schoolUser.DistrictRef, schoolUser.UserRef, out roleId);
            var user   = schoolUser.User;
            var school = schoolUser.School;
            var role   = CoreRoles.GetById(roleId);

            Guid?developerId = null;

            if (schoolUser.User.IsDemoUser)
            {
                var developer = CreateMasterSysAdmin().UserService.GetById(user.District.Id);
                if (developer != null)
                {
                    developerId = developer.Id;
                }
            }
            return(new UserContext(user, role, user.District, school, developerId, personId, null, schoolYear));
        }