Carrotware.CMS.Core.SecurityData.GetCreditUserSearch C# (CSharp) Метод

GetCreditUserSearch() публичный статический Метод

public static GetCreditUserSearch ( string searchTerm ) : List
searchTerm string
Результат List
        public static List<ApplicationUser> GetCreditUserSearch(string searchTerm)
        {
            List<ApplicationUser> usrs = null;
            List<string> admins = null;
            List<string> editors = null;

            using (CarrotCMSDataContext _db = CarrotCMSDataContext.Create()) {
                admins = (from ur in _db.membership_UserRoles
                          join u in _db.membership_Users on ur.UserId equals u.Id
                          join r in _db.membership_Roles on ur.RoleId equals r.Id
                          join ud in _db.carrot_UserDatas on u.Id equals ud.UserKey
                          where r.Name == CMSGroup_Admins
                          select ud.UserKey).ToList();

                editors = (from sm in _db.carrot_UserSiteMappings
                           join ud in _db.carrot_UserDatas on sm.UserId equals ud.UserId
                           where sm.SiteID == SiteData.CurrentSiteID
                           select ud.UserKey).ToList();
            }

            using (var securityHelper = new SecurityHelper()) {
                usrs = (from u in securityHelper.DataContext.Users
                        where (u.UserName.Contains(searchTerm)
                                    || u.Email.Contains(searchTerm))
                                && admins.Union(editors).Contains(u.Id)
                        select securityHelper.UserManager.FindByName(u.UserName)).Take(50).ToList();
            }

            return usrs;
        }