예제 #1
0
        private NightclubContext InitializeContext()
        {
            var options = new DbContextOptionsBuilder <NightclubContext>()
                          .UseInMemoryDatabase(databaseName: "NightclubTest")
                          .Options;

            var context = new NightclubContext(options);

            context.Database.EnsureDeleted();

            context.SaveChanges();
            return(context);
        }
예제 #2
0
        public Core.Domaines.Membre BlacklisterMembre(BlacklisterMembreRequete requete)
        {
            if (requete == null)
            {
                throw new CustomBadRequestException(MessageErreur.RequeteNull);
            }

            if (DateTime.Compare(requete.DebutDateBlacklister, requete.FinDateBlacklister) > 0)
            {
                throw new CustomBadRequestException(MessageErreur.DateBlacklistingInvalide);
            }

            if (DateTime.Compare(requete.FinDateBlacklister, DateTime.Today) < 0)
            {
                throw new CustomBadRequestException(MessageErreur.DateFinBlacklistInferieur);
            }

            var membreBlacklister = _context.Membres.SingleOrDefault(x => x.Id == requete.MembreId);

            if (membreBlacklister == null)
            {
                throw new CustomNotFoundException(MessageErreur.MembreIntrouvable);
            }
            if (membreBlacklister.IsBlacklister)
            {
                throw new CustomBadRequestException(MessageErreur.MembreDejaBlackliste);
            }

            membreBlacklister.IsBlacklister        = true;
            membreBlacklister.DebutDateBlacklister = requete.DebutDateBlacklister;
            membreBlacklister.FinDateBlacklister   = requete.FinDateBlacklister;

            _context.Membres.Update(membreBlacklister);
            _context.SaveChanges();
            return(membreBlacklister);
        }