示例#1
0
        /// <summary>
        /// Udførelse af kommandoen.
        /// </summary>
        /// <param name="command">Command til opdatering af en given betalingsbetingelse.</param>
        /// <returns>Opdateret betalingsbetingelse.</returns>
        public BetalingsbetingelseView Execute(BetalingsbetingelseModifyCommand command)
        {
            if (command == null)
            {
                throw new ArgumentNullException("command");
            }

            Betalingsbetingelse betalingsbetingelse;

            try
            {
                betalingsbetingelse = _adresseRepository.BetalingsbetingelserGetAll()
                                      .Single(m => m.Nummer == command.Nummer);
            }
            catch (InvalidOperationException ex)
            {
                throw new DataAccessSystemException(
                          Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Betalingsbetingelse),
                                                       command.Nummer), ex);
            }
            betalingsbetingelse.SætNavn(command.Navn);

            var opdateretBetalingsbetingelse = _adresseRepository.BetalingsbetingelseModify(betalingsbetingelse.Nummer,
                                                                                            betalingsbetingelse.Navn);

            return(_objectMapper.Map <Betalingsbetingelse, BetalingsbetingelseView>(opdateretBetalingsbetingelse));
        }