Пример #1
0
        public UserPickerEntity EnsureUser(SPUser spUser)
        {
            var upe = new UserPickerEntity(spUser.LoginName);

            upe.DisplayText = spUser.Name;
            return(this.EnsureUser(upe));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
        }
Пример #6
0
 public UserPickerEntity EnsureUser(UserPickerEntity entity)
 {
     return(EnsureUser(entity, this.ListId, this.ListSource, this.LookupKey));
 }