/// <summary> /// Validate the typed control segments /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); Stream ncpdpStream = File.OpenRead(Directory.GetCurrentDirectory() + @"\..\..\..\Files\ClaimBillings"); using (var ncpdpReader = new NcpdpTelcoReader(ncpdpStream, "EdiFabric.Templates.Ncpdp")) { while (ncpdpReader.Read()) { var header = ncpdpReader.Item as TransmissionHeader; if (header != null) { // Validate var headerErrors = header.Validate(); // Pull the sending application from TransmissionHeader var senderId = header.SenderId_2; Debug.WriteLine("Sending application:"); Debug.WriteLine(senderId); } } } }
/// <summary> /// Reads billing claims batched up in the same transmission. /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); // 1. Load to a stream Stream ncpdpStream = File.OpenRead(Directory.GetCurrentDirectory() + @"\..\..\..\Files\ClaimBillings"); // 2. Read multiple messages batched up in the same transmission using (var ncpdpReader = new NcpdpTelcoReader(ncpdpStream, "EdiFabric.Templates.Ncpdp")) { while (ncpdpReader.Read()) { // Process dispenses if no parsing errors var claim = ncpdpReader.Item as TSB1; if (claim != null && !claim.HasErrors) { ProcessClaim(ncpdpReader.CurrentTransmissionHeader, claim); } } } }