public ClaimCollection(ClaimCollection other) { foreach (Claim claim in other.Claims) { AddClaim(new Claim(claim)); } }
public static ClaimCollection Read(string flatFilePath, string clientID) { string fileName = Path.GetFileName(flatFilePath); DateTime timeStamp = DateTime.Now; ClaimCollection claims = new ClaimCollection(); Claim claim = null; foreach (string line in File.ReadAllLines(flatFilePath)) { string[] segments = line.Split(','); switch (GerRecordType(segments)) { case RecordType.Claim: claim = CreateClaim(segments, clientID, fileName, timeStamp, claims.GetClaimCount() + 1); claims.AddClaim(claim); break; case RecordType.Line: Line lineItem = CreateLine(segments, clientID, claim.ClaimID, claim.Lines.Length + 1); claim.AddLine(lineItem); break; case RecordType.NoMatch: throw new ArrayTypeMismatchException(string.Format("Content: {0} does not match to either Claim or Line Format.", line)); } } return(claims); }