コード例 #1
0
        public void TestAtPostnummerGetAllHenterPostnumre()
        {
            var postnumre = _adresseRepository.PostnummerGetAll();

            Assert.That(postnumre, Is.Not.Null);
            Assert.That(postnumre.Count(), Is.GreaterThan(0));
        }
コード例 #2
0
        /// <summary>
        /// Udførelse af kommandoen.
        /// </summary>
        /// <param name="command">Command til opdatering af et givent postnummer.</param>
        /// <returns>Opdateret postnummer.</returns>
        public PostnummerView Execute(PostnummerModifyCommand command)
        {
            if (command == null)
            {
                throw new ArgumentNullException("command");
            }

            Postnummer postnummer;

            try
            {
                postnummer = _adresseRepository.PostnummerGetAll()
                             .Single(m =>
                                     m.Landekode.CompareTo(command.Landekode) == 0 &&
                                     m.Postnr.CompareTo(command.Postnummer) == 0);
            }
            catch (InvalidOperationException ex)
            {
                throw new DataAccessSystemException(
                          Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Postnummer),
                                                       string.Format("{0}-{1}", command.Landekode, command.Postnummer)), ex);
            }
            postnummer.SætBy(command.Bynavn);

            var opdateretPostnummer = _adresseRepository.PostnummerModify(postnummer.Landekode, postnummer.Postnr,
                                                                          postnummer.By);

            return(_objectMapper.Map <Postnummer, PostnummerView>(opdateretPostnummer));
        }
コード例 #3
0
        /// <summary>
        /// Udfører forespørgelse.
        /// </summary>
        /// <param name="query">Forespørgelse efter alle postnumre.</param>
        /// <returns>Alle postnumre.</returns>
        public IEnumerable <PostnummerView> Query(PostnummerGetAllQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }
            var postnumre = _adresseRepository.PostnummerGetAll();

            return(_objectMapper.Map <IEnumerable <Postnummer>, IEnumerable <PostnummerView> >(postnumre));
        }
コード例 #4
0
        /// <summary>
        /// Udfører forespørgelse.
        /// </summary>
        /// <param name="query">Forespørgelse efter alle postnumre på en given landekode.</param>
        /// <returns>Alle postnumre for en given landekode.</returns>
        public IEnumerable <PostnummerView> Query(PostnummerGetByLandekodeQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }
            var postnumre = _adresseRepository.PostnummerGetAll()
                            .Where(m => m.Landekode.CompareTo(query.Landekode) == 0)
                            .ToArray();

            return(_objectMapper.Map <IEnumerable <Postnummer>, IEnumerable <PostnummerView> >(postnumre));
        }
コード例 #5
0
        /// <summary>
        /// Henter og returnerer et given postnummer.
        /// </summary>
        /// <param name="landekode">Landekode.</param>
        /// <param name="postnummer">Postnummer.</param>
        /// <returns>Postnummer.</returns>
        public virtual Postnummer PostnummerGetByLandekodeAndPostnummer(string landekode, string postnummer)
        {
            if (string.IsNullOrEmpty(landekode))
            {
                throw new ArgumentNullException("landekode");
            }
            if (string.IsNullOrEmpty(postnummer))
            {
                throw new ArgumentNullException("postnummer");
            }
            var postnumre = _adresseRepository.PostnummerGetAll();

            try
            {
                return(postnumre.Single(m => String.Compare(m.Landekode, landekode, StringComparison.Ordinal) == 0 && String.Compare(m.Postnr, postnummer, StringComparison.Ordinal) == 0));
            }
            catch (InvalidOperationException ex)
            {
                throw new IntranetRepositoryException(Resource.GetExceptionMessage(ExceptionMessage.CantFindObjectById, typeof(Postnummer).Name, string.Format("{0}-{1}", landekode, postnummer)), ex);
            }
        }
コード例 #6
0
        /// <summary>
        /// Udfører forespørgelse.
        /// </summary>
        /// <param name="query">Forespørgelse efter et bynavn for et givent postnummer på en given landekode.</param>
        /// <returns>Landekode, postnummer og bynavn.</returns>
        public PostnummerView Query(BynavnGetByLandekodeAndPostnummerQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }
            Postnummer postnummer;

            try
            {
                postnummer = _adresseRepository.PostnummerGetAll()
                             .Single(m => m.Landekode.CompareTo(query.Landekode) == 0 && m.Postnr.CompareTo(query.Postnummer) == 0);
            }
            catch (InvalidOperationException ex)
            {
                throw new DataAccessSystemException(
                          Resource.GetExceptionMessage(ExceptionMessage.CantFindUniqueRecordId, typeof(Postnummer),
                                                       string.Format("{0}-{1}", query.Landekode, query.Postnummer)), ex);
            }
            return(_objectMapper.Map <Postnummer, PostnummerView>(postnummer));
        }