コード例 #1
0
 public static void IndsaetXNytMedlem(int X, MedlemsstatusEnum?forceretStatus = null)
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         for (int i = 0; i < X; i++)
         {
             Medlem medlem = new Medlem()
             {
                 Adresse           = "Adresse" + _nytMedlemsNummer,
                 AdresseBy         = "By" + _nytMedlemsNummer,
                 AdressePostNummer = _nytMedlemsNummer.ToString(),
                 ArkID             = _nytMedlemsNummer,
                 EMailAdresse      = "EMail" + _nytMedlemsNummer,
                 Foedselsdato      = new DateTime(1977 + _nytMedlemsNummer, 1, 1),
                 Koen        = (_nytMedlemsNummer % 2 == 0 ? KoenEnum.Mand : KoenEnum.Kvinde),
                 MobilNummer = (22220000 + _nytMedlemsNummer).ToString(),
                 Navn        = "Navn" + _nytMedlemsNummer,
                 Status      = (forceretStatus.HasValue ? forceretStatus.Value : (MedlemsstatusEnum)((_nytMedlemsNummer % 3) + 2)),
                 Rostatistik = new Rostatistik()
             };
             _nytMedlemsNummer++;
             db.Medlems.Add(medlem);
         }
         db.SaveChanges();
     }
 }
コード例 #2
0
        public void TryLogMedlemIndTest_MedlemEksistererMedStatusAktivRegnskabsmedlemHarStatusGammel()
        {
            //NB: DENNE TEST SLETTER Medlem, Regnskabsmedlem og Begivenhed data
            MedlemmerManager medlemmerManager = null;
            RegnskabsmedlemsManagerUnitTest regnskabsmedlemsManager = null;
            LoggingManagerUnitTest          loggingManager          = null;

            InitierStubLogMedlemIndTest(out loggingManager, out regnskabsmedlemsManager, out medlemmerManager);

            int antalNyeEntiteter = 5;

            IndsaetNRegnskabsmedlemmerIRegnskabsmedlemsManagerOgSynkroniser(regnskabsmedlemsManager, antalNyeEntiteter, MedlemsstatusEnum.Aktiv);

            int arkID = UnitTestHelper.HentFoersteMedlemsArkID();

            UnitTestHelper.OpdaterMedlemStatus(arkID, MedlemsstatusEnum.Aktiv);
            Medlem medlemViProeverAtLoggeInd = null;

            using (ArkDatabase db = new ArkDatabase())
            {
                medlemViProeverAtLoggeInd = db.Medlems.First(medlemItem => medlemItem.ArkID == arkID);
            }
            int medlemID = medlemViProeverAtLoggeInd.ID;

            RegnskabsmedlemDTO regnskabsmedlem = regnskabsmedlemsManager.Regnskabsmedlemmer.First(medlemItem => medlemItem.ArkID == arkID);

            regnskabsmedlem.Status = MedlemsstatusEnum.Gammel;

            string noter = TryLogMedlemInd_TestResultat_ReturnerNotater(arkID, medlemID, MedlemLogindStatusEnum.RegnskabsmedlemstatusGammel, medlemmerManager, loggingManager);
        }
コード例 #3
0
 public static void SletBegivenheder()
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         List <Begivenhed> begivenheder = db.Begivenheds.ToList();
         begivenheder.ForEach(begivenhedsItem => db.Begivenheds.Remove(begivenhedsItem));
         db.SaveChanges();
     }
 }
コード例 #4
0
 public static void OpdaterMedlemStatus(int arkID, MedlemsstatusEnum nyStatus)
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         Medlem medlem = db.Medlems.FirstOrDefault(medlemItem => medlemItem.ArkID == arkID);
         medlem.Status = nyStatus;
         db.SaveChanges();
     }
 }
コード例 #5
0
 public static void SletTure()
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         List <Turdeltager> list = db.Turdeltagers.ToList();
         list.ForEach(item => db.Turdeltagers.Remove(item));
         List <Tur> ture = db.Turs.ToList();
         ture.ForEach(turItem => db.Turs.Remove(turItem));
         db.SaveChanges();
     }
 }
コード例 #6
0
        public static Medlem HentFoersteMedlem()
        {
            Medlem medlem = null;

            using (ArkDatabase db = new ArkDatabase())
            {
                List <Medlem> medlemmer = db.Medlems.Include("Rostatistik").ToList();
                medlem = medlemmer.First();
            }
            return(medlem);
        }
コード例 #7
0
        public static int HentFoersteMedlemsID()
        {
            int ID = 0;

            using (ArkDatabase db = new ArkDatabase())
            {
                List <Medlem> medlemmer = db.Medlems.ToList();
                Medlem        medlem    = medlemmer.First();
                ID = medlem.ID;
            }
            return(ID);
        }
コード例 #8
0
        private string Synkroniser_TestResultat_ReturnerNotater(
            int arkID,
            RegnskabsmedlemDTO regnskabsmedlem,
            LoggingManagerUnitTest loggingManager,
            bool medlemOgRegnskabsmeldemNavnSkalVaereEns,
            bool kendtRegnskabsmedlemOgRegnskabsmedlemNavnSkalVaereEns,
            MedlemsstatusEnum?medlemstatusHvisForskelligFraRegnskabsmedlemstatus = null)
        {
            loggingManager.Clear();
            (new MedlemmerManager()).SynkroniserRegnskabsmedlemmerOgMedlemmer(false);

            string notater = KomponentManager.LoggingManager.ToString();

            Assert.IsTrue(!String.IsNullOrEmpty(notater), notater);

            using (ArkDatabase db = new ArkDatabase())
            {
                Medlem          medlem = db.Medlems.First(medlemItem => medlemItem.ArkID == arkID);
                Regnskabsmedlem kendtRegnskabsmedlem = db.Regnskabsmedlems.First(medlemItem => medlemItem.ArkID == arkID);

                if (medlemstatusHvisForskelligFraRegnskabsmedlemstatus.HasValue)
                {
                    Assert.AreEqual(medlemstatusHvisForskelligFraRegnskabsmedlemstatus.Value, medlem.Status);
                }
                else
                {
                    Assert.AreEqual(regnskabsmedlem.Status, medlem.Status);
                }

                if (medlemOgRegnskabsmeldemNavnSkalVaereEns)
                {
                    Assert.AreEqual(regnskabsmedlem.Navn, medlem.Navn);
                }
                else
                {
                    Assert.AreNotEqual(regnskabsmedlem.Navn, medlem.Navn);
                }

                Assert.AreEqual(regnskabsmedlem.Status, kendtRegnskabsmedlem.Status);
                if (kendtRegnskabsmedlemOgRegnskabsmedlemNavnSkalVaereEns)
                {
                    Assert.AreEqual(regnskabsmedlem.Navn, kendtRegnskabsmedlem.Navn);
                }
                else
                {
                    Assert.AreNotEqual(regnskabsmedlem.Navn, kendtRegnskabsmedlem.Navn);
                }
            }
            return(notater);
        }
コード例 #9
0
 public static void SletMedlemmer()
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         List <Medlem>          medlemmer = db.Medlems.Include("Rostatistik").ToList();
         List <Regnskabsmedlem> kendteRegnskabsmedlemmer = db.Regnskabsmedlems.ToList();
         medlemmer.ForEach(medlemItem =>
         {
             db.Rostatistiks.Remove(medlemItem.Rostatistik);
             db.Medlems.Remove(medlemItem);
         });
         kendteRegnskabsmedlemmer.ForEach(regnskabsmedlemItem => db.Regnskabsmedlems.Remove(regnskabsmedlemItem));
         db.SaveChanges();
     }
 }
コード例 #10
0
 public static void OpretTurPaaBaadOgMedlem(int medlemID, int baadID, DateTime tidspunkt, int turlaengde)
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         Tur tur = new Tur();
         tur.StartTidspunkt = tidspunkt;
         tur.AntalKilometer = turlaengde;
         tur.BaadID         = baadID;
         Turdeltager turdeltager = new Turdeltager();
         turdeltager.MedlemID = medlemID;
         tur.Turdeltagers.Add(turdeltager);
         db.Turs.Add(tur);
         db.SaveChanges();
     }
 }
コード例 #11
0
 private void Log(Action <string, string> action, string niveau, string noegleord, string besked)
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         int antalBegivenhederFoer = db.Begivenheds.Count();
         action.Invoke(noegleord, besked);
         int antalBegivenhederEfter = db.Begivenheds.Count();
         Assert.AreEqual(antalBegivenhederEfter, antalBegivenhederFoer + 1);
         int        senesteBegivenhedID = db.Begivenheds.Max(begivenhedItem => begivenhedItem.ID);
         Begivenhed senesteBegivenhed   = db.Begivenheds.FirstOrDefault(begivenhedItem => begivenhedItem.ID == senesteBegivenhedID);
         Assert.IsNotNull(senesteBegivenhed);
         Assert.IsTrue(senesteBegivenhed.Beskrivelse.Contains(besked));
         Assert.AreEqual(senesteBegivenhed.Niveau, niveau);
     }
 }
コード例 #12
0
        public static void SletBaade()
        {
            using (ArkDatabase db = new ArkDatabase())
            {
                List <Baad> list = db.Baads.ToList();
                list.ForEach(item => db.Baads.Remove(item));

                List <BaadType> list2 = db.BaadTypes.ToList();
                list2.ForEach(item => db.BaadTypes.Remove(item));

                List <BaadType> list3 = db.BaadTypes.ToList();
                list3.ForEach(item => db.BaadTypes.Remove(item));

                db.SaveChanges();
            }
        }
コード例 #13
0
        public static Baad LavEnkeltBaad()
        {
            Baad baad = null;

            using (ArkDatabase db = new ArkDatabase())
            {
                baad = new Baad();
                baad.AntalPersoner              = 1;
                baad.BaadType                   = new BaadType();
                baad.BaadType.BaadKategori      = new BaadKategori();
                baad.BaadType.BaadKategori.Navn = "Kategori1";
                baad.BaadType.Navn              = "Kategori1s baadtype1";
                baad.Navn = "Foerste baad";
                db.Baads.Add(baad);
                db.SaveChanges();
            }
            return(baad);
        }
コード例 #14
0
        public void SynkroniserRegnskabsmedlemmerOgMedlemmerTest_FoersteGang()
        {
            //NB: DENNE TEST SLETTER Medlem, Regnskabsmedlem og Begivenhed data
            LoggingManagerUnitTest          loggingManager          = null;
            RegnskabsmedlemsManagerUnitTest regnskabsmedlemsManager = null;

            InitierStubMedlemsopdatringerTest(out loggingManager, out regnskabsmedlemsManager);

            int antalNyeEntiteter = 5;

            IndsaetNRegnskabsmedlemmerIRegnskabsmedlemsManagerOgSynkroniser(regnskabsmedlemsManager, antalNyeEntiteter);

            string notater = loggingManager.ToString();

            Assert.IsTrue(!String.IsNullOrEmpty(notater), notater);

            using (ArkDatabase db = new ArkDatabase())
            {
                List <Medlem>          medlemmer = db.Medlems.ToList();
                List <Regnskabsmedlem> kendteRegnskabsmedlemmer = db.Regnskabsmedlems.ToList();
                Assert.AreEqual(antalNyeEntiteter, medlemmer.Count);
                Assert.AreEqual(antalNyeEntiteter, kendteRegnskabsmedlemmer.Count);
            }
        }
コード例 #15
0
        public void ArkDatabase_DisposeAndModel()
        {
            //NB: DENNE TEST SLETTER ALT DATA I BASEN

            UnitTestHelper.InitierAlleKomponenterMedDefault();

            UnitTestHelper.SletAlt();

            Baad baad = UnitTestHelper.LavEnkeltBaad();
            UnitTestHelper.IndsaetXNytMedlem(1, MedlemsstatusEnum.Aktiv);
            Medlem medlem = UnitTestHelper.HentFoersteMedlem();
            DateTime detteAar = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0, 0));
            DateTime sidsteAar = detteAar.Subtract(TimeSpan.FromDays(365));
            List<int> turlaengderDetteAar = new List<int>();
            List<int> turlaengderSidsteAar = new List<int>();
            Random r = new Random();
            for (int i = 0; i < 5; i++)
            {
                int turlaengde = r.Next(100);
                turlaengderDetteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, detteAar, turlaengde);
                turlaengde = r.Next(100);
                turlaengderSidsteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, sidsteAar, turlaengde);
            }

            ArkDatabase db = null;
            #region Eager loading
            using (db = new ArkDatabase())
            {
                //Eager loading. Inkluderer fuld load af de nævnte felter og lister
                medlem = db.Medlems.Include("Rostatistik").Include("Turdeltagers.Tur").First(medlemItem => medlemItem.ID == medlem.ID);
            }
            bool fejler = false;
            try
            {
                Rostatistik rostatistik = medlem.Rostatistik;
                List<Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List<Tur> ture = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsFalse(fejler);
            #endregion

            #region Lazy loading - Allerede lazy loadede Properties forbliver efter disposet forbindelse
            using (db = new ArkDatabase())
            {
                //Lazy loading. Loader først felter og lister ved forespørgsel
                medlem = db.Medlems.First(medlemItem => medlemItem.ID == medlem.ID);
                Rostatistik rostatistik = medlem.Rostatistik;
                List<Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List<Tur> ture = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            fejler = false;
            try
            {
                Rostatistik rostatistik = medlem.Rostatistik;
                List<Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List<Tur> ture = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsFalse(fejler);
            #endregion

            #region Lazy loading - Tilgang af ikke loadede Properties efter disposed Arkdatabase -> Disposed exception
            using (db = new ArkDatabase())
            {
                medlem = db.Medlems.First(medlemItem => medlemItem.ID == medlem.ID);
            }
            fejler = false;
            try
            {
                Rostatistik rostatistik = medlem.Rostatistik;
                List<Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List<Tur> ture = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsTrue(fejler);
            #endregion
        }
コード例 #16
0
        public void ArkDatabase_DisposeAndModel()
        {
            //NB: DENNE TEST SLETTER ALT DATA I BASEN

            UnitTestHelper.InitierAlleKomponenterMedDefault();

            UnitTestHelper.SletAlt();

            Baad baad = UnitTestHelper.LavEnkeltBaad();

            UnitTestHelper.IndsaetXNytMedlem(1, MedlemsstatusEnum.Aktiv);
            Medlem     medlem               = UnitTestHelper.HentFoersteMedlem();
            DateTime   detteAar             = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0, 0));
            DateTime   sidsteAar            = detteAar.Subtract(TimeSpan.FromDays(365));
            List <int> turlaengderDetteAar  = new List <int>();
            List <int> turlaengderSidsteAar = new List <int>();
            Random     r = new Random();

            for (int i = 0; i < 5; i++)
            {
                int turlaengde = r.Next(100);
                turlaengderDetteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, detteAar, turlaengde);
                turlaengde = r.Next(100);
                turlaengderSidsteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, sidsteAar, turlaengde);
            }

            ArkDatabase db = null;

            #region Eager loading
            using (db = new ArkDatabase())
            {
                //Eager loading. Inkluderer fuld load af de nævnte felter og lister
                medlem = db.Medlems.Include("Rostatistik").Include("Turdeltagers.Tur").First(medlemItem => medlemItem.ID == medlem.ID);
            }
            bool fejler = false;
            try
            {
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsFalse(fejler);
            #endregion

            #region Lazy loading - Allerede lazy loadede Properties forbliver efter disposet forbindelse
            using (db = new ArkDatabase())
            {
                //Lazy loading. Loader først felter og lister ved forespørgsel
                medlem = db.Medlems.First(medlemItem => medlemItem.ID == medlem.ID);
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            fejler = false;
            try
            {
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsFalse(fejler);
            #endregion

            #region Lazy loading - Tilgang af ikke loadede Properties efter disposed Arkdatabase -> Disposed exception
            using (db = new ArkDatabase())
            {
                medlem = db.Medlems.First(medlemItem => medlemItem.ID == medlem.ID);
            }
            fejler = false;
            try
            {
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsTrue(fejler);
            #endregion
        }