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