コード例 #1
0
        /// <summary>
        /// Udførelse af kommandoen.
        /// </summary>
        /// <param name="command">Command til tilføjelse af et firma.</param>
        /// <returns>Oprettet firma.</returns>
        public FirmaView Execute(FirmaAddCommand command)
        {
            if (command == null)
            {
                throw new ArgumentNullException("command");
            }

            Adressegruppe adressegruppe;

            try
            {
                adressegruppe = _adresseRepository.AdressegruppeGetAll().Single(m => m.Nummer == command.Adressegruppe);
            }
            catch (InvalidOperationException ex)
            {
                throw new DataAccessSystemException(
                          Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Adressegruppe),
                                                       command.Adressegruppe), ex);
            }
            Betalingsbetingelse betalingsbetingelse = null;

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

            var firma = new Firma(0, command.Navn, adressegruppe);

            firma.SætAdresseoplysninger(command.Adresse1, command.Adresse2, command.PostnummerBy);
            firma.SætTelefon(command.Telefon1, command.Telefon2, command.Telefax);
            firma.SætBekendtskab(command.Bekendtskab);
            firma.SætMailadresse(command.Mailadresse);
            firma.SætWebadresse(command.Webadresse);
            firma.SætBetalingsbetingelse(betalingsbetingelse);
            firma.SætUdlånsfrist(command.Udlånsfrist);
            firma.SætFilofaxAdresselabel(command.FilofaxAdresselabel);

            var oprettetFirma = _adresseRepository.FirmaAdd(firma.Navn, firma.Adresse1, firma.Adresse2, firma.PostnrBy,
                                                            firma.Telefon1, firma.Telefon2, firma.Telefax,
                                                            firma.Adressegruppe, firma.Bekendtskab, firma.Mailadresse,
                                                            firma.Webadresse, firma.Betalingsbetingelse,
                                                            firma.Udlånsfrist, firma.FilofaxAdresselabel);

            return(_objectMapper.Map <Firma, FirmaView>(oprettetFirma));
        }
コード例 #2
0
        /// <summary>
        /// Udførelse af kommandoen.
        /// </summary>
        /// <param name="command">Command til tilføjelse af en betalingsbetingelse.</param>
        /// <returns>Oprettet betalingsbetingelse.</returns>
        public BetalingsbetingelseView Execute(BetalingsbetingelseAddCommand command)
        {
            if (command == null)
            {
                throw new ArgumentNullException("command");
            }

            var betalingsbetingelse = new Betalingsbetingelse(command.Nummer, command.Navn);

            var oprettetBetalingsbetingelse = _adresseRepository.BetalingsbetingelseAdd(betalingsbetingelse.Nummer,
                                                                                        betalingsbetingelse.Navn);

            return(_objectMapper.Map <Betalingsbetingelse, BetalingsbetingelseView>(oprettetBetalingsbetingelse));
        }
        /// <summary>
        /// Udførelse af kommandoen.
        /// </summary>
        /// <param name="command">Command til tilføjelse af en person.</param>
        /// <returns>Oprettet person.</returns>
        public PersonView Execute(PersonAddCommand command)
        {
            if (command == null)
            {
                throw new ArgumentNullException("command");
            }

            Adressegruppe adressegruppe;

            try
            {
                adressegruppe = _adresseRepository.AdressegruppeGetAll().Single(m => m.Nummer == command.Adressegruppe);
            }
            catch (InvalidOperationException ex)
            {
                throw new DataAccessSystemException(
                          Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Adressegruppe),
                                                       command.Adressegruppe), ex);
            }
            Betalingsbetingelse betalingsbetingelse = null;

            if (command.Betalingsbetingelse != 0)
            {
                try
                {
                    betalingsbetingelse = _adresseRepository.BetalingsbetingelserGetAll()
                                          .Single(m => m.Nummer == command.Betalingsbetingelse);
                }
                catch (InvalidOperationException ex)
                {
                    throw new DataAccessSystemException(
                              Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId,
                                                           typeof(Betalingsbetingelse), command.Betalingsbetingelse), ex);
                }
            }
            Firma firma = null;

            if (command.Firma != 0)
            {
                try
                {
                    firma = _adresseRepository.AdresseGetAll()
                            .OfType <Firma>()
                            .Single(m => m.Nummer == command.Firma);
                }
                catch (InvalidOperationException ex)
                {
                    throw new DataAccessSystemException(
                              Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Firma),
                                                           command.Firma), ex);
                }
            }

            var person = new Person(0, command.Navn, adressegruppe);

            person.SætAdresseoplysninger(command.Adresse1, command.Adresse2, command.PostnummerBy);
            person.SætTelefon(command.Telefon, command.Mobil);
            person.SætFødselsdato(command.Fødselsdato);
            person.SætBekendtskab(command.Bekendtskab);
            person.SætMailadresse(command.Mailadresse);
            person.SætWebadresse(command.Webadresse);
            person.SætBetalingsbetingelse(betalingsbetingelse);
            person.SætUdlånsfrist(command.Udlånsfrist);
            person.SætFilofaxAdresselabel(command.FilofaxAdresselabel);

            var oprettetPerson = _adresseRepository.PersonAdd(person.Navn, person.Adresse1, person.Adresse2,
                                                              person.PostnrBy, person.Telefon, person.Mobil,
                                                              person.Fødselsdato, person.Adressegruppe,
                                                              person.Bekendtskab, person.Mailadresse, person.Webadresse,
                                                              person.Betalingsbetingelse, person.Udlånsfrist,
                                                              person.FilofaxAdresselabel, firma);

            return(_objectMapper.Map <Person, PersonView>(oprettetPerson));
        }