Пример #1
0
        async Task <LoginDataWrapper> __load_login_data__(IServiceProvider provider, string subject_id, DateTime login_time)
        {
            var res = new LoginDataWrapper();
            var userLoginService = provider.Resolve_ <IUserLoginService>();

            var user_model = await userLoginService.GetUserByUID(subject_id);

            if (user_model == null)
            {
                throw new MsgException("no user found in database");
            }

            if (user_model.LastPasswordUpdateTimeUtc != null && user_model.LastPasswordUpdateTimeUtc.Value > login_time)
            {
                throw new MsgException("password has been changed,pls relogin");
            }

            res.User = user_model;

            var org_selector = provider.Resolve_ <ICurrentOrgSelector>();
            var org_service  = provider.Resolve_ <IOrgService>();

            var my_orgs = await org_service.GetMyOrgMap(subject_id);

            var selected_org_uid = org_selector.GetSelectedOrgUID();
            var selected_org     = my_orgs.OrderByDescending(x => x.OrgUID == selected_org_uid ? 1 : 0).FirstOrDefault();

            res.OrgMember = selected_org;

            return(res);
        }
        async Task <LoginDataWrapper> __load_login_data__(IServiceProvider provider, string subject_id, DateTime login_time)
        {
            var res = new LoginDataWrapper();
            var userLoginService = provider.Resolve_ <IAdminLoginService>();

            var user_model = await userLoginService.GetUserByUID(subject_id);

            if (user_model == null)
            {
                throw new MsgException("no user found in database");
            }

            if (user_model.LastPasswordUpdateTimeUtc != null && user_model.LastPasswordUpdateTimeUtc.Value > login_time)
            {
                throw new MsgException("password has been changed,pls relogin");
            }

            res.User = user_model;

            return(res);
        }