Example #1
0
        public BoekNommer LastBoekNommer()
        {
            BoekNommer lastBoekNommer;

            var thisJaar = (DateTime.Now.Year % 1000) % 100;

            var maxJaar = this.biblioteek.Katalogus
                          .Select(boekRow => boekRow.Jaar)
                          .DefaultIfEmpty()
                          .Max();

            if (maxJaar < thisJaar)
            {
                lastBoekNommer = new BoekNommer(jaar: (DateTime.Now.Year % 1000) % 100, nommer: 0);
            }
            else
            {
                var maxNommer = this.biblioteek.Katalogus
                                .Where(boekRow => boekRow.Jaar == maxJaar)
                                .Select(boekRow => boekRow.Nommer)
                                .DefaultIfEmpty()
                                .Max();

                lastBoekNommer = new BoekNommer(maxJaar, maxNommer);
            }

            return(lastBoekNommer);
        }
Example #2
0
        public BoekNommer NextBoekNommer()
        {
            var lastNommer = DatabaseAccess.LastBoekNommer();

            var nextNommer = new BoekNommer(lastNommer.Jaar, lastNommer.Nommer + 1);

            if (nextNommer.Jaar < CurrentJaar())
            {
                nextNommer = new BoekNommer(CurrentJaar(), 1);
            }

            return(nextNommer);
        }
 public BoekInformation(
     Tietel tietel,
     Skrywer skrywer,
     Genres genre,
     OuderdomsGroepe ouderdomsGroep,
     BoekNommer boekNommer,
     Dewey dewey,
     Tale taal)
 {
     this.Tietel         = tietel;
     this.Skrywer        = skrywer;
     this.Genre          = genre;
     this.OuderdomsGroep = ouderdomsGroep;
     this.BoekNommer     = boekNommer;
     this.Dewey          = dewey;
     this.Taal           = taal;
 }
Example #4
0
        public Maybe <BoekInformation> GetBoek(BoekNommer boekNommer)
        {
            var boekRow = this.biblioteek.Katalogus
                          .Where(boekR => boekR.Jaar == boekNommer.Jaar && boekR.Nommer == boekNommer.Nommer)
                          .FirstOrDefault();

            Maybe <BoekInformation> boek = boekRow is null
                ? Maybe <BoekInformation> .None()
                : new Maybe <BoekInformation>(
                new BoekInformation(
                    boekRow.Tietel.ToTietel(),
                    boekRow.Skrywer.ToSkrywer(),
                    boekRow.Genre,
                    boekRow.OuderdomsGroep,
                    new BoekNommer(boekRow.Jaar, boekRow.Nommer),
                    boekRow.Dewey.ToDewey(),
                    boekRow.Taal));

            return(boek);
        }
 public void FinishedEditing(BoekNommer boekNommer)
 {
     this.Finished?.Invoke(this, boekNommer);
 }
 public void EditThisBoekNow(BoekNommer boekNommer)
 {
     this.Edit?.Invoke(this, boekNommer);
 }
Example #7
0
 private void DatabaseAccess_BoekUpdated(object sender, BoekNommer e)
 {
     this.GetBoek(e).IfSome(b => BoekUpdated?.Invoke(this, b.Value));
 }
Example #8
0
 public Maybe <BoekInformation> GetBoek(BoekNommer boekNommer) => this.DatabaseAccess.GetBoek(boekNommer);