private DatabaseResultaat Opzoeken(ILiturgieTekstObject item, LiturgieSettings settings) { var setNaam = item.Benaming; if (item is ILiturgieInterpretatieBijbeltekst) { return(BijbeltekstOpzoeken(setNaam, item as ILiturgieInterpretatieBijbeltekst, settings)); } var zoekNaam = item.Deel; if (IsNullOrEmpty(item.Deel)) { setNaam = FileEngineDefaults.CommonFilesSetName; zoekNaam = item.Benaming; } return(NormaalOpzoeken(setNaam, zoekNaam, item.Verzen.ToList(), settings)); }
public ITekstNaarSlideConversieResultaat ConverteerNaarSlide(ILiturgieTekstObject tekstInput, LiturgieSettings settings, IEnumerable <LiturgieMapmaskArg> masks = null) { var regel = (Slide)null; var isBlancoSlide = false; // zoek de regels in de database en pak ook de naamgeving daar uit over var dbResult = (DatabaseResultaat)null; if (!tekstInput.OptiesGebruiker.NietVerwerkenViaDatabase) { dbResult = Opzoeken(tekstInput, settings); // TODO blanco check if (dbResult.Status != DatabaseZoekStatus.Opgelost) { return(new ConversieResultaat(dbResult.Status, tekstInput)); } regel = new Slide(dbResult); isBlancoSlide = string.Compare(tekstInput.Benaming, LiturgieOptieSettings.BlancoSlide, true) == 0; } else { regel = new Slide(tekstInput.Benaming, tekstInput.Deel, tekstInput.VerzenZoalsIngevoerd); } // verwerk de opties regel.VerwerkenAlsSlide = !tekstInput.OptiesGebruiker.NietVerwerkenViaDatabase; regel.TonenInOverzicht = tekstInput.OptiesGebruiker.ToonInOverzicht ?? regel.TonenInOverzicht; regel.TonenInVolgende = tekstInput.OptiesGebruiker.ToonInVolgende ?? true; regel.OverslaanInVolgende = isBlancoSlide; // Check of er een mask is (mooiere naam) // Anders underscores als spaties tonen var maskCheck = masks?.FirstOrDefault(m => Compare(m.RealName, regel.DisplayEdit.Naam, true) == 0); if (maskCheck != null) { regel.DisplayEdit.Naam = maskCheck.Name; } else { regel.DisplayEdit.Naam = (regel.DisplayEdit.Naam ?? "").Replace("_", " "); } regel.DisplayEdit.SubNaam = (regel.DisplayEdit.SubNaam ?? "").Replace("_", " "); // regel visualisatie na bewerking if (IsNullOrEmpty(regel.DisplayEdit.NaamOverzicht)) { regel.DisplayEdit.NaamOverzicht = regel.DisplayEdit.Naam; } // kijk of de opties nog iets zeggen over alternatieve naamgeving if (!IsNullOrWhiteSpace(tekstInput.OptiesGebruiker.AlternatieveNaamOverzicht)) { regel.DisplayEdit.NaamOverzicht = tekstInput.OptiesGebruiker.AlternatieveNaamOverzicht; regel.DisplayEdit.SubNaam = null; } else if (!IsNullOrWhiteSpace(tekstInput.TeTonenNaamOpOverzicht)) { regel.DisplayEdit.NaamOverzicht = tekstInput.TeTonenNaamOpOverzicht; regel.DisplayEdit.SubNaam = null; } // kijk of de opties nog iets zeggen over alternatieve naamgeving if (!IsNullOrWhiteSpace(tekstInput.OptiesGebruiker.AlternatieveNaam)) { regel.DisplayEdit.Naam = tekstInput.OptiesGebruiker.AlternatieveNaam; regel.DisplayEdit.SubNaam = null; } else if (!IsNullOrWhiteSpace(tekstInput.TeTonenNaam)) { regel.DisplayEdit.Naam = tekstInput.TeTonenNaam; regel.DisplayEdit.SubNaam = null; } // geef de oplossing terug return(new ConversieResultaat(DatabaseZoekStatus.Opgelost, tekstInput, regel)); }
public ConversieResultaat(DatabaseZoekStatus status, ILiturgieTekstObject invoerTekst, ISlideOpbouw regel = null) { ResultaatStatus = status; InputTekst = invoerTekst; ResultaatSlide = regel; }
public static string KrijgHelpendeTekstBijLiturgieFout(DatabaseZoekStatus resultaatFout, ILiturgieTekstObject vanInterpretatie) { switch (resultaatFout) { case DatabaseZoekStatus.DatabaseFout: return($"De tekst achter 'als' is niet correct."); case DatabaseZoekStatus.SetFout: return($"'{vanInterpretatie.Benaming}' is niet een bekend lied, bijbelboek of slide."); case DatabaseZoekStatus.SubSetFout: return(string.IsNullOrWhiteSpace(vanInterpretatie.Deel) ? "Je moet een hoofdstuk of lied opgeven." : $"'{vanInterpretatie.Deel}' is niet te vinden in {vanInterpretatie.Benaming}."); case DatabaseZoekStatus.VersFout: return($"Niet alle verzen konden gevonden worden in de database."); case DatabaseZoekStatus.VersOnderverdelingMismatch: return($"Bij '{vanInterpretatie.Deel} {vanInterpretatie.Deel}' kan je helaas geen specifieke verzen opgeven."); case DatabaseZoekStatus.VersOnleesbaar: return($"Een van de verzen geeft aan dat er geen inhoud aan hem gekoppeld is in de database. Kan je niet echt iets mee, maar dat gaat nu dus wel fout."); case DatabaseZoekStatus.Onbekend: return("Er is iets goed mis, ik kan je niet verder helpen."); } return(string.Empty); }