/// <summary> /// Udførelse af kommandoen. /// </summary> /// <param name="command">Command til opdatering af en given gruppe til budgetkonti.</param> /// <returns>Opdateret gruppe til budgetkonti.</returns> public BudgetkontogruppeView Execute(BudgetkontogruppeModifyCommand command) { if (command == null) { throw new ArgumentNullException("command"); } Budgetkontogruppe budgetkontogruppe; try { budgetkontogruppe = _finansstyringRepository.BudgetkontogrupperGetAll() .Single(m => m.Nummer == command.Nummer); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Budgetkontogruppe), command.Nummer), ex); } budgetkontogruppe.SætNavn(command.Navn); var opdateretBudgetkontogruppe = _finansstyringRepository.BudgetkontogruppeModify(budgetkontogruppe.Nummer, budgetkontogruppe.Navn); return(_objectMapper.Map <Budgetkontogruppe, BudgetkontogruppeView>(opdateretBudgetkontogruppe)); }
/// <summary> /// Udfører forespørgelse. /// </summary> /// <param name="query">Forespørgelse efter alle grupper for budgetkonti.</param> /// <returns>Alle grupper for budgetkonti.</returns> public IEnumerable <BudgetkontogruppeView> Query(BudgetkontogruppeGetAllQuery query) { if (query == null) { throw new ArgumentNullException("query"); } var budgetkontogrupper = _finansstyringRepository.BudgetkontogrupperGetAll(); return(_objectMapper.Map <IEnumerable <Budgetkontogruppe>, IEnumerable <BudgetkontogruppeView> >(budgetkontogrupper)); }
/// <summary> /// Udførelse af kommandoen. /// </summary> /// <param name="command">Command til tilføjelse af en budgetkonto.</param> /// <returns>Oprettet budgetkonto.</returns> public BudgetkontoView Execute(BudgetkontoAddCommand command) { if (command == null) { throw new ArgumentNullException("command"); } Regnskab regnskab; try { var getBrevhoved = new Func <int, Brevhoved>(nummer => _fællesRepository.BrevhovedGetByNummer(nummer)); regnskab = _finansstyringRepository.RegnskabGetAll(getBrevhoved) .Single(m => m.Nummer == command.Regnskabsnummer); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Regnskab), command.Regnskabsnummer), ex); } Budgetkontogruppe budgetkontogruppe; try { budgetkontogruppe = _finansstyringRepository.BudgetkontogrupperGetAll() .Single(m => m.Nummer == command.Budgetkontogruppe); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Budgetkontogruppe), command.Budgetkontogruppe), ex); } var budgetkonto = _finansstyringRepository.BudgetkontoAdd(regnskab, command.Kontonummer, command.Kontonavn, command.Beskrivelse, command.Note, budgetkontogruppe); return(_objectMapper.Map <Budgetkonto, BudgetkontoView>(budgetkonto)); }
/// <summary> /// Udfører forespørgelse. /// </summary> /// <param name="query">Forespørgelse efter en given gruppe for budgetkonti..</param> /// <returns>Gruppe for budgetkonti.</returns> public BudgetkontogruppeView Query(BudgetkontogruppeGetByNummerQuery query) { if (query == null) { throw new ArgumentNullException("query"); } Budgetkontogruppe budgetkontogruppe; try { budgetkontogruppe = _finansstyringRepository.BudgetkontogrupperGetAll() .Single(m => m.Nummer == query.Nummer); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Budgetkontogruppe), query.Nummer), ex); } return(_objectMapper.Map <Budgetkontogruppe, BudgetkontogruppeView>(budgetkontogruppe)); }
/// <summary> /// Udførelse af kommandoen. /// </summary> /// <param name="command">Command til opdatering af en given budgetkonto.</param> /// <returns>Opdateret budgetkonto.</returns> public BudgetkontoView Execute(BudgetkontoModifyCommand command) { if (command == null) { throw new ArgumentNullException("command"); } Regnskab regnskab; try { var getBrevhoved = new Func <int, Brevhoved>(nummer => _fællesRepository.BrevhovedGetByNummer(nummer)); regnskab = _finansstyringRepository.RegnskabGetAll(getBrevhoved) .Single(m => m.Nummer == command.Regnskabsnummer); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Regnskab), command.Regnskabsnummer), ex); } Budgetkontogruppe budgetkontogruppe; try { budgetkontogruppe = _finansstyringRepository.BudgetkontogrupperGetAll() .Single(m => m.Nummer == command.Budgetkontogruppe); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Budgetkontogruppe), command.Budgetkontogruppe), ex); } Budgetkonto budgetkonto; try { budgetkonto = regnskab.Konti .OfType <Budgetkonto>() .Single(m => m.Kontonummer.CompareTo(command.Kontonummer) == 0); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Budgetkonto), command.Kontonummer), ex); } budgetkonto.SætKontonavn(command.Kontonavn); budgetkonto.SætBeskrivelse(command.Beskrivelse); budgetkonto.SætNote(command.Note); budgetkonto.SætBudgetkontogruppe(budgetkontogruppe); var opdateretBudgetkonto = _finansstyringRepository.BudgetkontoModify(regnskab, budgetkonto.Kontonummer, budgetkonto.Kontonavn, budgetkonto.Beskrivelse, budgetkonto.Note, budgetkonto.Budgetkontogruppe); return(_objectMapper.Map <Budgetkonto, BudgetkontoView>(opdateretBudgetkonto)); }