Пример #1
0
        /// <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));
     }
 }