public UserPickerEntity EnsureUser(SPUser spUser) { var upe = new UserPickerEntity(spUser.LoginName); upe.DisplayText = spUser.Name; return(this.EnsureUser(upe)); }
public static int GetUserRosterId(SPUser spUser) { var upe = new UserPickerEntity(spUser.LoginName); upe.DisplayText = spUser.Name; return(EnsureUser(upe, TableNames.UserInformationTable, (int)LookupSourceType.Table, "Id").RosterLookupId); }
private static UserPickerEntity EnsureUser(UserPickerEntity entity, string listId, int listSource, string lookupKey) { if (entity.RosterLookupId != 0 && entity.IsResolved) { return(entity); } if (string.IsNullOrEmpty(entity.Key) && entity.RosterLookupId == 0) { throw new ArgumentException("To ensureUser please specify accountName OR rosterLookupId!"); } UserPickerEntity dbUser = null; List <Tuple <string, string> > whereCriteria = new List <Tuple <string, string> >(); if (!string.IsNullOrEmpty(entity.Key)) { whereCriteria.Add(new Tuple <string, string>(FieldNames.USER_LOGIN_NAME, entity.Key)); } else { whereCriteria.Add(new Tuple <string, string>(lookupKey, entity.RosterLookupId.ToString())); } var userFields = new[] { FieldNames.USER_LOGIN_NAME, FieldNames.USER_DISPLAY_NAME, FieldNames.USER_EMAIL, FieldNames.USER_SIP, FieldNames.USER_DEPARTMENT, FieldNames.USER_PRINCIPAL_TYPE }; var users = BLExtensions.SourceContent(listId, lookupKey, String.Join("$", userFields), listSource, whereCriteria); if (users == null || !users.Any()) { // add new user int newLookupId = new RosterDataService().SaveRow(lookupKey, listId, entity.ToSyncObject()); if (newLookupId == 0) { throw new Exception("Cannot add user to system table"); } else { dbUser = entity; dbUser.RosterLookupId = newLookupId; } } else { var user = users.First(); if (entity.IsResolved) { dbUser = entity; dbUser.RosterLookupId = user.Item1; } else { dbUser = new UserPickerEntity(user.Item1, user.Item2 as IDictionary <string, object>); } } return(dbUser); }
public UserPickerEntity EnsureUser(SPFieldUserValue spUserVal) { var upe = new UserPickerEntity(spUserVal.User == null ? spUserVal.LookupValue : spUserVal.User.LoginName); upe.DisplayText = spUserVal.User == null ? spUserVal.LookupValue : spUserVal.User.Name; if (spUserVal.User != null) { upe.EntityData = new UserPickerEntityData(); upe.EntityData.Email = spUserVal.User.Email; upe.EntityData.PrincipalType = "User"; } return(this.EnsureUser(upe)); }
public UserPickerEntity EnsureUser(XDocument doc) { var entity = doc.Root.Element("Entity"); // take ONLY first one !!! string key = entity.Attribute("Key").Value; UserPickerEntity pickerEntity = new UserPickerEntity(key); pickerEntity.DisplayText = entity.Attribute("DisplayText").Value; pickerEntity.IsResolved = true; pickerEntity.Resolved = true; // EntityData //UserPickerEntityData entityData = new UserPickerEntityData(); //pickerEntity.EntityData = entityData; return(this.EnsureUser(pickerEntity)); }
public UserPickerEntity EnsureUser(UserPickerEntity entity) { return(EnsureUser(entity, this.ListId, this.ListSource, this.LookupKey)); }