/// <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)); }
/// <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)); }