Advertisement
Guest User

Untitled

a guest
Sep 15th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.39 KB | None | 0 0
  1.         private void GhostCheckDate(string inFilePath, string outFilePath)
  2.         {
  3.             var trimChars = new[] { '"' };
  4.             var separator = new[] { "\",\"" };
  5.             Func<string, string[]> parse = s =>
  6.                 s.Trim(trimChars).Split(separator, StringSplitOptions.RemoveEmptyEntries);
  7.             var fileData = File.ReadAllLines(inFilePath);
  8.             var outFileData = File.ReadAllLines(outFilePath).ToList();
  9.             var result = new List<string>();
  10.             string[] array;
  11.             foreach (var userData in fileData)
  12.             {                
  13.                 if ( (array = parse(userData)).Length != 3 )
  14.                     continue;
  15.                 var user = new {Login = array[0], Password = array[1], Date = DateTime.Parse(array[2])};
  16.                 if (fileData.Any( s => string.Equals(parse(s)[0], user.Login) )) continue;
  17.                 var items = fileData.Where(s => string.Equals(parse(s)[0], user.Login));
  18.                 if (items.Count() < 2) continue;
  19.                 var maxItem = items.Aggregate((i1, i2) => DateTime.Parse(parse(i1)[2]) > DateTime.Parse(parse(i2)[2])
  20.                                                               ? i1 : i2);
  21.                 result.Add(maxItem);
  22.             }
  23.             if (result.Count > 0)
  24.                 File.AppendAllText(outFilePath, string.Join(Environment.NewLine, result));
  25.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement