public void Handle(Guid clientID, CommandMessage message) { if (clientID == Guid.Empty) { return; } var query = getQuery(message); var sb = new StringBuilder(); sb.Append(message.CorrelationID); if (query != null) { var formatter = new CacheFormatter(); var matcher = new Func <string, string, bool>((a, b) => a == b); if (isWildCard(query)) { matcher = wildcardmatch; } _cache.AllReferences() .Where(x => filter(x, query, matcher)) .GroupBy(x => x.File).ToList() .ForEach(x => { sb.AppendLine(formatter.FormatFile(x.Key)); x.ToList() .ForEach(y => sb.AppendLine(formatter.Format(y))); }); } _endpoint.Send(sb.ToString(), clientID); }
public void Handle(Guid clientID, CommandMessage message) { if (clientID == Guid.Empty) { return; } var query = getQuery(message); var sb = new StringBuilder(); sb.Append(message.CorrelationID); var formatter = new CacheFormatter(); _cache.AllFiles() .Where(x => filter(x, query)) .GroupBy(x => x.Project).ToList() .ForEach(x => { if (x.Key != null) { sb.AppendLine(formatter.FormatProject(x.Key)); } x.ToList() .ForEach(y => sb.AppendLine(formatter.Format(y))); }); _endpoint.Send(sb.ToString(), clientID); }
public void Handle(Guid clientID, CommandMessage message) { Logger.Write("arg count is " + message.Arguments.Count.ToString()); if (message.Arguments.Count > 2 || message.Arguments.Count == 0) { return; } if (clientID == Guid.Empty) { return; } var limit = 0; if (message.Arguments.Count == 2) { Logger.Write("arg is " + message.Arguments[1]); int limitParam; if (!int.TryParse(message.Arguments[1], out limitParam)) { return; } if (limitParam <= 0) { return; } limit = limitParam; } var sb = new StringBuilder(); sb.Append(message.CorrelationID); var formatter = new CacheFormatter(); List <IGrouping <string, ICodeReference> > result; Logger.Write("Taking " + limit.ToString()); if (limit > 0) { result = _cache.Find(message.Arguments[0], limit).GroupBy(x => x.File).ToList(); } else { result = _cache.Find(message.Arguments[0]).GroupBy(x => x.File).ToList(); } result.ForEach(x => { sb.AppendLine(formatter.FormatFile(x.Key)); x.ToList() .ForEach(y => sb.AppendLine(formatter.Format(y))); }); _endpoint.Send(sb.ToString(), clientID); }