/// <summary> /// Udfører forespørgelse. /// </summary> /// <param name="query">Forespørgelse efter alle bogføringslinjer i et givent regnskab.</param> /// <returns>Alle bogføringslinjer i et givent regnskab.</returns> public IEnumerable <BogføringslinjeView> Query(BogføringslinjeGetByRegnskabQuery query) { if (query == null) { throw new ArgumentNullException("query"); } var adresser = _adresseRepository.AdresseGetAll(); var getBrevhoved = new Func <int, Brevhoved>(nummer => _fællesRepository.BrevhovedGetByNummer(nummer)); var regnskaber = _finansstyringRepository.RegnskabGetAll(getBrevhoved, r => MergeInformations(r, adresser)); Regnskab regnskab; try { regnskab = regnskaber.Single(m => m.Nummer == query.Regnskabsnummer); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Regnskab), query.Regnskabsnummer), ex); } var comparer = new BogføringslinjeComparer(); var bogføringslinjer = regnskab.Konti .OfType <Konto>() .SelectMany(m => m.Bogføringslinjer) .OrderByDescending(n => n, comparer) .ToArray(); return(_objectMapper.Map <IEnumerable <Bogføringslinje>, IEnumerable <BogføringslinjeView> >(bogføringslinjer)); }
public IEnumerable <BogføringslinjeView> BogføringslinjeGetByRegnskab(BogføringslinjeGetByRegnskabQuery bogføringslinjeGetByRegnskabQuery) { try { return (_queryBus.Query <BogføringslinjeGetByRegnskabQuery, IEnumerable <BogføringslinjeView> >( bogføringslinjeGetByRegnskabQuery)); } catch (Exception ex) { throw CreateFault(MethodBase.GetCurrentMethod(), ex, int.Parse(Properties.Resources.EventLogFinansstyringRepositoryService)); } }