/// <summary> /// Udfører forespørgelse. /// </summary> /// <param name="query">Forespørgelse efter alle konti i et givent regnskab.</param> /// <returns>Alle konti i et givent regnskab.</returns> public IEnumerable <KontoListeView> Query(KontoGetByRegnskabQuery 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 konti = regnskab.Konti .OfType <Konto>() .ToArray(); return(_objectMapper.Map <IEnumerable <Konto>, IEnumerable <KontoListeView> >(konti)); }
public IEnumerable <KontoListeView> KontoGetByRegnskab(KontoGetByRegnskabQuery kontoGetByRegnskabQuery) { try { return(_queryBus.Query <KontoGetByRegnskabQuery, IEnumerable <KontoListeView> >(kontoGetByRegnskabQuery)); } catch (Exception ex) { throw CreateFault(MethodBase.GetCurrentMethod(), ex, int.Parse(Properties.Resources.EventLogFinansstyringRepositoryService)); } }