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()); }
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()); }
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); } }