Beispiel #1
0
        public ActionResult Index(string search = "")
        {
            var userAgents = string.IsNullOrWhiteSpace(search) ? _userAgentRepository.GetAll() : _userAgentRepository.Find(search);

            ViewBag.SearchString = search;
            return(View(userAgents));
        }
        private Guid?GetUserAgentId(string userAgent)
        {
            userAgent = (userAgent ?? string.Empty).Trim();

            var allUserAgents = _userAgentRepository.GetAll()
                                .Where(ua => !string.IsNullOrEmpty(ua.Identifier))
                                .Select(ua => new UserAgentInfo(
                                            userAgentId: ua.Id,
                                            identifier: ua.Identifier,
                                            matchType: ua.MatchType
                                            )).ToList();

            var dbUserAgent = allUserAgents.FirstOrDefault(u =>
                                                           u.MatchType == MatchType.Begins_With && userAgent.StartsWith(u.Identifier));

            if (dbUserAgent != null)
            {
                return(dbUserAgent.UserAgentId);
            }

            dbUserAgent = allUserAgents.FirstOrDefault(u =>
                                                       u.MatchType == MatchType.Ends_With && userAgent.EndsWith(u.Identifier));

            if (dbUserAgent != null)
            {
                return(dbUserAgent.UserAgentId);
            }

            dbUserAgent = allUserAgents.FirstOrDefault(u =>
                                                       u.MatchType == MatchType.Contains && userAgent.Contains(u.Identifier));

            return(dbUserAgent?.UserAgentId);
        }
Beispiel #3
0
 public List <UserAgent> GetAll()
 {
     return(_lazyCache.GetOrAddUserAgents(() => _internalRepository.GetAll()));
 }