Example #1
0
        public void TestAtQueryHenterBogføringslinjer()
        {
            var fixture = new Fixture();
            var random  = new Random(fixture.Create <int>());

            var statusDate = fixture.Create <DateTime>();
            var regnskab   = fixture.Create <Regnskab>();

            foreach (var konto in fixture.CreateMany <Konto>(3))
            {
                regnskab.TilføjKonto(konto);
                while (konto.Bogføringslinjer.Count() < 25)
                {
                    var bogføringslinje = new Bogføringslinje(fixture.Create <int>(), statusDate.AddDays(random.Next(0, 365) * -1), fixture.Create <string>(), fixture.Create <string>(), fixture.Create <decimal>(), fixture.Create <decimal>());
                    konto.TilføjBogføringslinje(bogføringslinje);
                }
            }

            var finansstyringRepository = MockRepository.GenerateMock <IFinansstyringRepository>();

            finansstyringRepository.Expect(m => m.RegnskabGet(Arg <int> .Is.Anything, Arg <Func <int, Brevhoved> > .Is.NotNull, Arg <Func <int, AdresseBase> > .Is.NotNull))
            .Return(regnskab);
            var adresseRepository = MockRepository.GenerateMock <IAdresseRepository>();

            adresseRepository.Expect(m => m.AdresseGetAll())
            .Return(fixture.CreateMany <Person>(25));
            var fællesRepository = MockRepository.GenerateMock <IFællesRepository>();

            fællesRepository.Expect(m => m.BrevhovedGetAll())
            .Return(fixture.CreateMany <Brevhoved>(3));
            var objectMapper = MockRepository.GenerateMock <IObjectMapper>();

            objectMapper.Expect(m => m.Map <Bogføringslinje, BogføringslinjeView>(Arg <Bogføringslinje> .Is.NotNull))
            .Return(fixture.Create <BogføringslinjeView>())
            .Repeat.Any();

            fixture.Inject(finansstyringRepository);
            fixture.Inject(adresseRepository);
            fixture.Inject(fællesRepository);
            fixture.Inject(objectMapper);
            var queryHandler = fixture.Create <BogføringerGetQueryHandler>();

            Assert.That(queryHandler, Is.Not.Null);

            var query = new BogføringerGetQuery
            {
                Regnskabsnummer = regnskab.Nummer,
                StatusDato      = statusDate,
                Linjer          = 30
            };
            var bogføringslinjer = queryHandler.Query(query);

            Assert.That(bogføringslinjer, Is.Not.Null);
            Assert.That(bogføringslinjer.Count(), Is.EqualTo(query.Linjer));

            finansstyringRepository.AssertWasCalled(m => m.RegnskabGet(Arg <int> .Is.Equal(query.Regnskabsnummer), Arg <Func <int, Brevhoved> > .Is.NotNull, Arg <Func <int, AdresseBase> > .Is.NotNull));
            adresseRepository.AssertWasCalled(m => m.AdresseGetAll());
            fællesRepository.AssertWasCalled(m => m.BrevhovedGetAll());
        }
Example #2
0
        public void TestAtBogføringslinjerKanHentes()
        {
            var query = new BogføringerGetQuery
            {
                Regnskabsnummer = 1,
                StatusDato      = new DateTime(2011, 3, 1),
                Linjer          = 250
            };
            var result = _service.BogføringerGet(query);

            Assert.That(result, Is.Not.Null);
            Assert.That(result.Count(), Is.EqualTo(250));
        }
        /// <summary>
        /// Henter og returnerer et givent antal bogføringslinjer fra en given statusdato.
        /// </summary>
        /// <param name="query">Forespørgelse efter et givent antal bogføringslinjer.</param>
        /// <returns>Liste af bogføringslinjer.</returns>
        public IEnumerable <BogføringslinjeView> Query(BogføringerGetQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            var konti = KontoGetAllByRegnskab(query.Regnskabsnummer);

            var bogføringslinjeComparer = new BogføringslinjeComparer();
            var bogføringslinjer        = konti.OfType <Konto>()
                                          .SelectMany(m => m.Bogføringslinjer)
                                          .OrderByDescending(m => m, bogføringslinjeComparer)
                                          .Where(m => m.Dato.CompareTo(query.StatusDato) <= 0)
                                          .Take(query.Linjer)
                                          .ToList();

            return(bogføringslinjer.Select(Map <Bogføringslinje, BogføringslinjeView>).ToList());
        }
Example #4
0
        public void TestAtBogføringslinjerKanHentes()
        {
            var client = _channelFactory.CreateChannel <IFinansstyringService>(ClientEndpointName);

            try
            {
                var query = new BogføringerGetQuery
                {
                    Regnskabsnummer = 1,
                    StatusDato      = new DateTime(2011, 3, 1),
                    Linjer          = 250
                };
                var result = client.BogføringerGet(query);
                Assert.That(result, Is.Not.Null);
                Assert.That(result.Count(), Is.EqualTo(250));
            }
            finally
            {
                ChannelTools.CloseChannel(client);
            }
        }
 public IEnumerable <BogføringslinjeView> BogføringerGet(BogføringerGetQuery query)
 {
     try
     {
         return(_queryBus.Query <BogføringerGetQuery, IEnumerable <BogføringslinjeView> >(query));
     }
     catch (IntranetRepositoryException ex)
     {
         throw CreateIntranetRepositoryFault(ex);
     }
     catch (IntranetBusinessException ex)
     {
         throw CreateIntranetBusinessFault(ex);
     }
     catch (IntranetSystemException ex)
     {
         throw CreateIntranetSystemFault(ex);
     }
     catch (Exception ex)
     {
         throw CreateIntranetSystemFault(ex);
     }
 }