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