/// <summary> /// Udfører forespørgelse. /// </summary> /// <param name="query">Forespørgelse efter alle regnskaber.</param> /// <returns>Alle regnskaber.</returns> public IEnumerable <RegnskabListeView> Query(RegnskabGetAllQuery 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)); return(_objectMapper.Map <IEnumerable <Regnskab>, IEnumerable <RegnskabListeView> >(regnskaber)); }
public IEnumerable <RegnskabListeView> RegnskabGetAll(RegnskabGetAllQuery regnskabGetAllQuery) { try { return(_queryBus.Query <RegnskabGetAllQuery, IEnumerable <RegnskabListeView> >(regnskabGetAllQuery)); } catch (Exception ex) { throw CreateFault(MethodBase.GetCurrentMethod(), ex, int.Parse(Properties.Resources.EventLogFinansstyringRepositoryService)); } }
/// <summary> /// Henter en liste af regnskaber. /// </summary> /// <param name="getBrevhovedCallback">Callbackmetode til at hente et givent brevhoved.</param> /// <returns>Liste af regnskaber.</returns> public IEnumerable <Regnskab> RegnskabslisteGet(Func <int, Brevhoved> getBrevhovedCallback) { if (getBrevhovedCallback == null) { throw new ArgumentNullException("getBrevhovedCallback"); } var channel = _channelFactory.CreateChannel <IFinansstyringRepositoryService>(EndpointConfigurationName); try { // Hent alle regnskaber. var regnskabQuery = new RegnskabGetAllQuery(); var regnskabViews = channel.RegnskabGetAll(regnskabQuery); // Mapning af regnskaber. _domainObjectBuilder.GetBrevhovedCallback = getBrevhovedCallback; return(_domainObjectBuilder.BuildMany <RegnskabListeView, Regnskab>(regnskabViews)); } catch (IntranetRepositoryException) { throw; } catch (FaultException ex) { throw new IntranetRepositoryException(ex.Message); } catch (Exception ex) { throw new IntranetRepositoryException( Resource.GetExceptionMessage(ExceptionMessage.RepositoryError, MethodBase.GetCurrentMethod().Name, ex.Message), ex); } finally { ChannelTools.CloseChannel(channel); } }