public static List <AspNetUser> Filter(string searchCriteria) { using (FreeMarketEntities db = new FreeMarketEntities()) { List <AspNetUser> allCustomers = db.AspNetUsers.ToList(); List <AspNetUser> filteredCustomers = new List <AspNetUser>(); if (string.IsNullOrEmpty(searchCriteria)) { return(allCustomers); } if (allCustomers != null) { filteredCustomers = db.FilterCustomers(searchCriteria).Select(c => new AspNetUser { AccessFailedCount = c.AccessFailedCount ?? 0, DefaultAddress = c.DefaultAddress, UnsubscribeFromAllCorrespondence = c.UnsubscribeFromAllCorrespondence ?? false, Email = c.Email, EmailConfirmed = c.EmailConfirmed ?? false, PhoneNumberConfirmed = c.PhoneNumberConfirmed ?? false, PreferredCommunicationMethod = c.PreferredCommunicationMethod, UnConfirmedEmail = c.UnConfirmedEmail, SecondaryPhoneNumber = c.SecondaryPhoneNumber, SecurityStamp = c.SecurityStamp, Id = c.Id, LastVisited = c.LastVisited ?? DateTime.MinValue, LockoutEnabled = c.LockoutEnabled ?? false, LockoutEndDateUtc = c.LockoutEndDateUtc, Name = c.Name, PasswordHash = c.PasswordHash, PhoneNumber = c.PhoneNumber, TwoFactorEnabled = c.TwoFactorEnabled ?? false, UnsubscribeFromRatings = c.UnsubscribeFromRatings ?? false, UserName = c.UserName }).ToList(); if (filteredCustomers != null && filteredCustomers.Count > 0) { if (filteredCustomers.Count == 1) { if (filteredCustomers.First().Id == null) { return(new List <AspNetUser>()); } } return(filteredCustomers); } else { return(new List <AspNetUser>()); } } else { allCustomers = new List <AspNetUser>(); } return(allCustomers); } }