private static ILiturgieTekstObject VerwerkNormaal(string voorOpties, LiturgieOptiesGebruiker opties) { var regel = new InterpretatieNormaal(); if (voorOpties.Length == 0) { return(InterpretatieNormaal.Empty); } var voorBenamingStukken = voorOpties.Trim().Split(BenamingScheidingstekens, StringSplitOptions.RemoveEmptyEntries); if (voorBenamingStukken.Length == 0) { return(InterpretatieNormaal.Empty); } var preBenamingTrimmed = voorBenamingStukken[0].Trim(); // Een benaming kan uit delen bestaan, bijvoorbeeld 'psalm 110' in 'psalm 110:1,2' of 'opwekking 598' in 'opwekking 598' var voorPreBenamingStukken = preBenamingTrimmed.Split(BenamingDeelScheidingstekens, StringSplitOptions.RemoveEmptyEntries); if (voorPreBenamingStukken.Length > 1) { regel.Deel = voorPreBenamingStukken[voorPreBenamingStukken.Length - 1]; // Is altijd laatste deel } regel.Benaming = preBenamingTrimmed.Substring(0, preBenamingTrimmed.Length - (regel.Deel ?? "").Length).Trim(); // Verzen als '1,2' in 'psalm 110:1,2' regel.VerzenZoalsIngevoerd = voorBenamingStukken.Length > 1 ? voorBenamingStukken[1].Trim() : null; regel.Verzen = (regel.VerzenZoalsIngevoerd ?? "") .Split(VersScheidingstekens, StringSplitOptions.RemoveEmptyEntries) .Select(v => v.Trim()) .ToList(); regel.OptiesGebruiker = opties; return(regel); }
private static ILiturgieInterpretatie VerwerkNormaal(string[] voorOpties, IEnumerable<string> opties) { var regel = new InterpretatieNormaal(); if (voorOpties.Length == 0) return null; var voorBenamingStukken = voorOpties[0].Trim().Split(BenamingScheidingstekens, StringSplitOptions.RemoveEmptyEntries); if (voorBenamingStukken.Length == 0) return null; var preBenamingTrimmed = voorBenamingStukken[0].Trim(); // Een benaming kan uit delen bestaan, bijvoorbeeld 'psalm 110' in 'psalm 110:1,2' of 'opwekking 598' in 'opwekking 598' var voorPreBenamingStukken = preBenamingTrimmed.Split(BenamingDeelScheidingstekens, StringSplitOptions.RemoveEmptyEntries); if (voorPreBenamingStukken.Length > 1) regel.Deel = voorPreBenamingStukken[voorPreBenamingStukken.Length - 1]; // Is altijd laatste deel regel.Benaming = preBenamingTrimmed.Substring(0, preBenamingTrimmed.Length - (regel.Deel ?? "").Length).Trim(); // Verzen als '1,2' in 'psalm 110:1,2' regel.VerzenZoalsIngevoerd = voorBenamingStukken.Length > 1 ? voorBenamingStukken[1].Trim() : null; regel.Verzen = (regel.VerzenZoalsIngevoerd ?? "") .Split(VersScheidingstekens, StringSplitOptions.RemoveEmptyEntries) .Select(v => v.Trim()) .ToList(); regel.Opties = opties.ToList(); return regel; }