/// <summary> /// Creates a new instance of a UserModel class, initializes with specified arguments. /// </summary> /// <param name="user"></param> public UserModel(Core.Keycloak.Models.UserModel user) { this.Id = user.Id; this.KeycloakUserId = user.Id; this.Username = user.Username; this.Position = user.Attributes?.ContainsKey("position") ?? false ? user.Attributes["position"].FirstOrDefault() : null; this.FirstName = user.FirstName; this.MiddleName = user.Attributes?.ContainsKey("middleName") ?? false ? user.Attributes["middleName"].FirstOrDefault() : null; this.LastName = user.LastName; this.DisplayName = user.Attributes?.ContainsKey("displayName") ?? false ? user.Attributes["displayName"].FirstOrDefault() : $"{this.LastName}, {this.FirstName}"; this.Email = user.Email; this.IsDisabled = !user.Enabled; this.EmailVerified = user.EmailVerified; this.Agencies = user.Attributes?.ContainsKey("agencies") ?? false ? user.Attributes["agencies"].Select(a => { if (Int32.TryParse(a, out int id)) { return new AgencyModel() { Id = id } } ; return(null); }).Where(a => a != null).Distinct().ToList() : null; }
/// <summary> /// Creates a new instance of a UserModel class, initializes with specified arguments. /// </summary> /// <param name="user"></param> public UserModel(Core.Keycloak.Models.UserModel user) { this.BusinessIdentifier = user.Username; this.KeycloakUserId = user.Id; this.Position = user.Attributes?.ContainsKey("position") ?? false ? user.Attributes["position"].FirstOrDefault() : null; this.FirstName = user.FirstName; this.MiddleNames = user.Attributes?.ContainsKey("middleName") ?? false ? user.Attributes["middleName"].FirstOrDefault() : null; this.Surname = user.LastName; this.Email = user.Email; this.IsDisabled = !user.Enabled; this.Organizations = user.Attributes?.ContainsKey("organizations") ?? false ? user.Attributes["organizations"].Select(a => { if (long.TryParse(a, out long id)) { return new OrganizationModel() { Id = id } } ; return(null); }).Where(a => a != null).Distinct().ToList() : null; }