private void AddMovieDetails(string s, CostumeDesigner record) { var mb = new MovieBase(); FixMovieNames(mb, s); record.MovieBases.Add(mb); }
/// <summary> /// Populates the records. /// </summary> /// <param name="lines">The lines.</param> protected override void PopulateRecords(IEnumerable <Match> lines) { CostumeDesigner record = null; foreach (var rawRecords in from line in lines select UtfStr(line).Split('\n') into rawRecords where rawRecords[0].Contains('\t') select rawRecords.Where(val => val != PreHeaderLine1).ToArray() into rawRecords select rawRecords.Where(val => val != PreHeaderLine2).ToArray()) { record = new CostumeDesigner(); foreach (var rawRecord in rawRecords) { var scan = new Regex(@"^\s\s*"); var artistLine = scan.Match(rawRecord); if (!artistLine.Success) //new artist { var artistLineSplit = rawRecord.Split('\t'); artistLineSplit = artistLineSplit. Where(val => val != "").ToArray(); //remove blank elements if (artistLineSplit.Length > 0) { record.Name = artistLineSplit[0].Trim(); } if (artistLineSplit.Length >= 2) { AddMovieDetails(artistLineSplit[1], record); } } else //other work by the same artist { var artistLineSplit = rawRecord.Split('\t'); artistLineSplit = artistLineSplit. Where(val => val != "").ToArray(); //remove blank elements foreach (var s in artistLineSplit) { AddMovieDetails(s, record); } } } if (!string.IsNullOrWhiteSpace(record.Name)) { _costumeDesigners.Add(record); } } if (record != null && !string.IsNullOrWhiteSpace(record.Name)) { _costumeDesigners.Add(record); } }