internal override void AssignDetail(Map map, List <Page> pageDetails, List <Page> pageRemittances) { { var mapDetail = map.MapDetail; var mapRemittance = map.MapRemittance; if (mapDetail == null) { return; } foreach (var pageDetail in pageDetails) { string Description = ""; var fromRow = mapDetail.FromLine - 1; var toRow = mapDetail.ToLine; if (toRow == 0) { toRow = pageDetail.Rows.Count; } var rows = pageDetail.Rows; for (var rowIndex = fromRow; rowIndex < toRow; rowIndex++) { // omit Empty/Blank Lines if (string.IsNullOrEmpty(rows[rowIndex].Trim())) { continue; } if (mapDetail.BreakDetailLineCondition.Count > 0 && PsTool.CheckCondition(mapDetail.BreakDetailLineCondition, rows[rowIndex])) { break; } if (mapDetail.RecognizeDetailLineCondition.Count > 0 && PsTool.CheckCondition(mapDetail.RecognizeDetailLineCondition, rows[rowIndex])) { AssignDetailLine(map, mapDetail, rows[rowIndex]); } if (mapDetail.RecognizeDetailLineCondition.Count == 0) { string dataLine = rows[rowIndex]; string InvDate = dataLine.TMid(1, 10); if (!string.IsNullOrEmpty(InvDate)) { DateTime?oDate = InvDate.ToDate("MM/dd/yyyyyy", "M/dd/yyyy", "M/d/yyyy"); if (!oDate.HasValue) { Description = dataLine.IndexOf(':') > 0 ? dataLine.Mid(dataLine.IndexOf(':') + 2).Trim() : ""; continue; } if (!string.IsNullOrEmpty(Description)) { dataLine = dataLine.TrimEnd() + $" {Description}"; Description = ""; } } AssignDetailLine(map, mapDetail, dataLine, ""); } } } if (pageDetails.Count > 0 && mapRemittance != null && pageRemittances != null && pageRemittances.Count > 0) { AssignDetailFromRemitFile(map, pageDetails[0], pageRemittances); } } }