/// <summary> /// Udførelse af kommandoen. /// </summary> /// <param name="command">Command til tilføjelse af et regnskab.</param> /// <returns>Oprettet regnskab.</returns> public RegnskabView Execute(RegnskabAddCommand command) { if (command == null) { throw new ArgumentNullException("command"); } Brevhoved brevhoved = null; if (command.Brevhoved != 0) { try { brevhoved = _fællesRepository.BrevhovedGetAll().Single(m => m.Nummer == command.Brevhoved); } catch (InvalidOperationException ex) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Brevhoved), command.Brevhoved), ex); } } var getBrevhoved = new Func <int, Brevhoved>(nummer => _fællesRepository.BrevhovedGetByNummer(nummer)); var regnskab = new Regnskab(command.Nummer, command.Navn); regnskab.SætBrevhoved(brevhoved); var oprettetRegnskab = _finansstyringRepository.RegnskabAdd(getBrevhoved, regnskab.Nummer, regnskab.Navn, regnskab.Brevhoved); return(_objectMapper.Map <Regnskab, RegnskabView>(oprettetRegnskab)); }