Ejemplo n.º 1
0
        private MatchedUser CreateMatchedUser(Tuple <uint, string, uint[]> match, string query)
        {
            var queryLength = (uint)query.Length;
            var userId      = match.Item1;
            var fullName    = match.Item2;
            var parts       = fullName.Split(' ');

            var nameParts = new List <NamePart>();

            for (var i = 0; i < parts.Length; i++)
            {
                var matchFound = match.Item3.Any(m => m == i + 1u);
                var namePart   = new NamePart()
                {
                    Text = parts[i],
                    MatchedSymbolsCount = matchFound ? queryLength : 0
                };

                nameParts.Add(namePart);
            }
            var matchedUser = new MatchedUser
            {
                UserId    = userId,
                NameParts = nameParts
            };

            return(matchedUser);
        }
Ejemplo n.º 2
0
        private MatchedUser CreateMatchedUser(string query, User arg)
        {
            var parts     = arg.FullName.Split(' ');
            var nameParts = parts.Select(part => new NamePart()
            {
                Text = part,
                MatchedSymbolsCount = !string.IsNullOrWhiteSpace(query) && part.StartsWith(query, StringComparison.CurrentCultureIgnoreCase) ? (uint)query.Length : 0
            }).ToList();

            var matchedUser = new MatchedUser
            {
                UserId    = arg.Id,
                NameParts = nameParts
            };

            return(matchedUser);
        }