private DatabaseResultaat BijbeltekstOpzoeken(string setNaam, ILiturgieInterpretatieBijbeltekst item, LiturgieSettings settings)
        {
            var resultaat = new DatabaseResultaat(VerwerkingType.bijbeltekst);

            var content         = new List <ILiturgieContent>();
            var versDelenLijst  = item.PerDeelVersen.ToList();
            var displaySelected = false;

            foreach (var deel in versDelenLijst)
            {
                var dbResult = _database.KrijgItem(VerwerkingType.bijbeltekst, setNaam, deel.Deel, deel.Verzen, settings);
                if (dbResult.Status != DatabaseZoekStatus.Opgelost)
                {
                    return(new DatabaseResultaat(dbResult.Status));
                }
                content.AddRange(dbResult.Content);

                if (!displaySelected)
                {
                    resultaat.DisplayEdit.Naam    = !string.IsNullOrEmpty(dbResult.Onderdeel.AlternatieveNaam) ? dbResult.Onderdeel.AlternatieveNaam : dbResult.Onderdeel.Naam;
                    resultaat.DisplayEdit.SubNaam = dbResult.Fragment.Naam;
                    displaySelected = true;
                }
            }
            resultaat.DisplayEdit.VersenGebruikDefault = item.VerzenZoalsIngevoerd;
            resultaat.Content = content.ToList();
            resultaat.DisplayEdit.VolledigeContent = versDelenLijst.Count == 1 && !versDelenLijst.FirstOrDefault().Verzen.Any();
            resultaat.TonenInOverzicht             = settings.ToonBijbeltekstenInLiturgie;

            return(resultaat);
        }
 public Slide(DatabaseResultaat opBasisVanDbResult)
 {
     DisplayEdit.Naam    = opBasisVanDbResult.DisplayEdit.Naam;
     DisplayEdit.SubNaam = opBasisVanDbResult.DisplayEdit.SubNaam;
     DisplayEdit.VersenGebruikDefault = opBasisVanDbResult.DisplayEdit.VersenGebruikDefault ?? DisplayEdit.VersenGebruikDefault;
     DisplayEdit.VolledigeContent     = opBasisVanDbResult.DisplayEdit.VolledigeContent;
     Content          = opBasisVanDbResult.Content;
     TonenInOverzicht = opBasisVanDbResult.TonenInOverzicht ?? false;
     VerwerkenAlsType = opBasisVanDbResult.VerwerkenAlsType;
 }
        private DatabaseResultaat NormaalOpzoeken(string setNaam, string zoekNaam, IEnumerable <string> verzen, LiturgieSettings settings)
        {
            var resultaat = new DatabaseResultaat(VerwerkingType.normaal);

            var verzenList = verzen.ToList();
            var dbResult   = _database.KrijgItem(VerwerkingType.normaal, setNaam, zoekNaam, verzenList, settings);

            if (dbResult.Status != DatabaseZoekStatus.Opgelost)
            {
                return(new DatabaseResultaat(dbResult.Status));
            }

            if (dbResult.Onderdeel.Naam == FileEngineDefaults.CommonFilesSetName)
            {
                resultaat.DisplayEdit.Naam = dbResult.Fragment.Naam;
                resultaat.DisplayEdit.VersenGebruikDefault = string.Empty;  // Expliciet: Common bestanden hebben nooit versen
            }
            else
            {
                resultaat.DisplayEdit.Naam    = dbResult.Onderdeel.Naam;
                resultaat.DisplayEdit.SubNaam = dbResult.Fragment.Naam;
            }
            resultaat.Content = dbResult.Content.ToList();
            if (dbResult.ZonderContentSplitsing)
            {
                resultaat.DisplayEdit.VersenGebruikDefault = string.Empty;  // Altijd default gebruiken omdat er altijd maar 1 content is
            }
            resultaat.DisplayEdit.VolledigeContent = !verzenList.Any();

            // Basis waarde van tonen in overzicht bepalen
            if (setNaam != FileEngineDefaults.CommonFilesSetName && !(dbResult.StandaardNietTonenInLiturgie ?? false))
            {
                resultaat.TonenInOverzicht = true;  // Nullable. Alleen true als we het belangrijk vinden. Is default, kan overschreven worden.
            }
            // bepaal de naamgeving
            if (!IsNullOrWhiteSpace(dbResult.Onderdeel.AlternatieveNaam))
            {
                resultaat.DisplayEdit.Naam = dbResult.Onderdeel.AlternatieveNaam.Equals(_defaultSetNameEmpty, StringComparison.CurrentCultureIgnoreCase) ? null : dbResult.Onderdeel.AlternatieveNaam;
            }

            return(resultaat);
        }