Example #1
0
        /// <summary>
        /// Udfører forespørgelse.
        /// </summary>
        /// <param name="query">Forespørgelse efter alle budgetkonti i et givent regnskab.</param>
        /// <returns>Alle budgetkonti i et givent regnskab.</returns>
        public IEnumerable <BudgetkontoListeView> Query(BudgetkontoGetByRegnskabQuery 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 <Budgetkonto>()
                        .ToArray();

            return(_objectMapper.Map <IEnumerable <Budgetkonto>, IEnumerable <BudgetkontoListeView> >(konti));
        }
 public IEnumerable <BudgetkontoListeView> BudgetkontoGetByRegnskab(BudgetkontoGetByRegnskabQuery budgetkontoGetByRegnskabQuery)
 {
     try
     {
         return
             (_queryBus.Query <BudgetkontoGetByRegnskabQuery, IEnumerable <BudgetkontoListeView> >(
                  budgetkontoGetByRegnskabQuery));
     }
     catch (Exception ex)
     {
         throw CreateFault(MethodBase.GetCurrentMethod(), ex,
                           int.Parse(Properties.Resources.EventLogFinansstyringRepositoryService));
     }
 }