static UserInfo() { try { try { using var adUtils = new NetLib.AD.ADUtils(); UserGroupsAd = adUtils.GetCurrentUserGroups(out var fioAd); IsProductUser = UserGroupsAd.Any(g => g == "000883_Департамент продукта"); FioAD = fioAd; } catch (Exception ex) { Logger.Log.Error(ex, "adUtils"); } UserData = new MongoDblib.UsersData.DbUserData().GetCurrentUser(); SaveBackup(); } catch (Exception ex) { try { LoadBackup(); } catch { // } Logger.Log.Error(ex, "adUtils and mongo load user info"); } }
static UserInfo() { try { var task = Task.Run(() => { try { using var adUtils = new NetLib.AD.ADUtils(); UserGroupsAd = adUtils.GetCurrentUserGroups(out var fioAd); IsProductUser = UserGroupsAd.Any(g => g == "000883_Департамент продукта"); FioAD = fioAd; } catch (Exception ex) { Logger.Log.Error(ex, "adUtils"); } }); task.Wait(3000); if (!task.IsCompleted) { Logger.Log.Info("UserInfo Constructor - нет в доступа к ADUtils или прошло более 3000."); } task = Task.Run(() => { UserData = new MongoDblib.UsersData.DbUserData().GetCurrentUser(); }); task.Wait(3000); if (!task.IsCompleted) { Logger.Log.Info("UserInfo Constructor - нет в доступа к MongoDb или прошло более 3000."); } } catch (Exception ex) { Logger.Log.Error(ex, "adUtils and mongo load user info"); } if (UserData == null || UserGroupsAd == null) { try { LoadBackup(); } catch { // } } if (UserData == null) { try { ShowUserProfileRegister(); } catch (Exception ex) { Logger.Log.Error(ex, "ShowUserProfileRegister"); } } SaveBackup(); }