I write some code in AccountController to get userOrganizationUnits when user login and set in SettingManager:
[HttpPost]
[DisableAuditing]
public async Task<JsonResult> Login(LoginViewModel loginModel, string returnUrl = "", string returnUrlHash = "")
{
CheckModelState();
var loginResult = await GetLoginResultAsync(
loginModel.UsernameOrEmailAddress,
loginModel.Password,
loginModel.TenancyName
);
await SignInAsync(loginResult.User, loginResult.Identity, loginModel.RememberMe);
// fotrosi
var OUList = _userOrganizationUnitRepository.FirstOrDefault(p => p.UserId == loginResult.User.Id && p.TenantId == loginResult.Tenant.Id);
await SettingManager.ChangeSettingForUserAsync(loginResult.User.Id, MySettingProvider.CurrentOrganizationUnitId, (OUList != null ? OUList.OrganizationUnitId.ToString() : "-1"));
if (string.IsNullOrWhiteSpace(returnUrl))
{
returnUrl = Request.ApplicationPath;
}
if (!string.IsNullOrWhiteSpace(returnUrlHash))
{
returnUrl = returnUrl + returnUrlHash;
}
return Json(new MvcAjaxResponse { TargetUrl = returnUrl });
}
but OUList variable is always empty :shock: