Ejemplo n.º 1
0
        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;
 }