private static void SummarizeFile(ArgosFile a) { Console.WriteLine("Transmissions in File"); foreach (var t in a.GetTransmissions()) { Console.WriteLine(t.ToFormatedString()); } Console.WriteLine("Programs in File"); foreach (var p in a.GetPrograms()) { Console.WriteLine(" {0}", p); } Console.WriteLine("Collars in File"); foreach (var p in a.GetPlatforms()) { Console.WriteLine(" {0} Start {1} End {2}", p, a.FirstTransmission(p), a.LastTransmission(p)); } }
private static void ProcessFile(CollarFile file, ArgosFile argos, ArgosPlatform platform) { LogGeneralMessage(String.Format("Start local processing of file {0}", file.FileId)); var databaseFunctions = new AnimalMovementFunctions(); if (platform == null) { databaseFunctions.ArgosFile_ClearProcessingResults(file.FileId); if (IsArgosAwsFileIncomplete(argos as ArgosAwsFile) ?? false) { LogIssueForFile(file.FileId, "The Argos server could not return all the data requested and this file is incomplete."); } } else { databaseFunctions.ArgosFile_UnProcessPlatform(file.FileId, platform.PlatformId); } var transmissionsByPlatform = from transmission in argos.GetTransmissions() group transmission by transmission.PlatformId into transmissions where platform == null || transmissions.Key == platform.PlatformId select transmissions; foreach (var transmissionSet in transmissionsByPlatform) { try { ProcessTransmissions(file, argos, transmissionSet); } catch (Exception ex) { var message = String.Format("ERROR {0} adding Argos {1} transmissions", ex.Message, transmissionSet.Key); LogIssueForFile(file.FileId, message, transmissionSet.Key); } } LogGeneralMessage("Finished local processing of file"); }