private static void ProcessMessages(HttpRequest request, string applicationKey, string messagesText, char separator)
{
var textLines = messagesText.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
var itemsByLines = textLines.Select(line => line.Split(new[] { separator })).ToArray();
var tmp = itemsByLines.GroupBy(line => line[0], line => line.Skip(1).ToArray()).
ToDictionary(group => group.Key, group => group.ToArray());
var messagesBySessions = new Dictionary<string, string[][]>(tmp);
foreach (var pair in messagesBySessions)
{
var sessionId = pair.Key;
var lines = pair.Value;
if (!lines.Any())
continue;
ValidateLines(sessionId, separator, lines);
WriteData(request, applicationKey, sessionId, lines);
}
}