Пример #1
0
        /// <summary>
        /// Henter alle adressegrupper.
        /// </summary>
        /// <returns>Liste af adressegrupper.</returns>
        public IEnumerable <Adressegruppe> AdressegruppeGetAll()
        {
            var channel = _channelFactory.CreateChannel <IAdresseRepositoryService>(EndpointConfigurationName);

            try
            {
                var query = new AdressegruppeGetAllQuery();
                var adressegruppeViews = channel.AdressegruppeGetAll(query);
                return(_domainObjectBuilder.BuildMany <AdressegruppeView, Adressegruppe>(adressegruppeViews));
            }
            catch (IntranetRepositoryException)
            {
                throw;
            }
            catch (FaultException ex)
            {
                throw new IntranetRepositoryException(ex.Message);
            }
            catch (Exception ex)
            {
                throw new IntranetRepositoryException(
                          Resource.GetExceptionMessage(ExceptionMessage.RepositoryError, MethodBase.GetCurrentMethod().Name,
                                                       ex.Message), ex);
            }
            finally
            {
                ChannelTools.CloseChannel(channel);
            }
        }
Пример #2
0
        /// <summary>
        /// Udfører forespørgelse.
        /// </summary>
        /// <param name="query">Forespørgelse efter alle adressegrupper.</param>
        /// <returns>Alle adressegrupper.</returns>
        public IEnumerable <AdressegruppeView> Query(AdressegruppeGetAllQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }
            var adressegrupper = _adresseRepository.AdressegruppeGetAll();

            return(_objectMapper.Map <IEnumerable <Adressegruppe>, IEnumerable <AdressegruppeView> >(adressegrupper));
        }
 public IEnumerable <AdressegruppeView> AdressegruppeGetAll(AdressegruppeGetAllQuery adressegruppeGetAllQuery)
 {
     try
     {
         return
             (_queryBus.Query <AdressegruppeGetAllQuery, IEnumerable <AdressegruppeView> >(adressegruppeGetAllQuery));
     }
     catch (Exception ex)
     {
         throw CreateFault(MethodBase.GetCurrentMethod(), ex,
                           int.Parse(Properties.Resources.EventLogAdresseRepositoryService));
     }
 }
Пример #4
0
        /// <summary>
        /// Henter alle adresser.
        /// </summary>
        /// <returns>Liste af adresser.</returns>
        public IEnumerable <AdresseBase> AdresseGetAll()
        {
            var channel = _channelFactory.CreateChannel <IAdresseRepositoryService>(EndpointConfigurationName);

            try
            {
                // Henter alle adressegrupper.
                var adressegruppeQuery = new AdressegruppeGetAllQuery();
                var adressegruppeViews = channel.AdressegruppeGetAll(adressegruppeQuery);
                // Henter alle betalingsbetingelser.
                var betalingsbetingelseQuery = new BetalingsbetingelseGetAllQuery();
                var betalingsbetingelseViews = channel.BetalingsbetingelseGetAll(betalingsbetingelseQuery);
                // Henter alle firmaadresser.
                var firmaQuery = new FirmaGetAllQuery();
                var firmaViews = channel.FirmaGetAll(firmaQuery);
                // Henter alle personadresser.
                var personQuery = new PersonGetAllQuery();
                var personViews = channel.PersonGetAll(personQuery);
                // Mapper views til adresser.
                lock (SyncRoot)
                {
                    var adresser = new List <AdresseBase>();
                    var adressegruppelisteHelper       = new AdressegruppelisteHelper(_domainObjectBuilder.BuildMany <AdressegruppeView, Adressegruppe>(adressegruppeViews));
                    var betalingsbetingelselisteHelper = new BetalingsbetingelselisteHelper(_domainObjectBuilder.BuildMany <BetalingsbetingelseView, Betalingsbetingelse>(betalingsbetingelseViews));
                    var adresselisteHelper             = new AdresselisteHelper(adresser);
                    _domainObjectBuilder.GetAdressegruppeCallback       = adressegruppelisteHelper.GetById;
                    _domainObjectBuilder.GetBetalingsbetingelseCallback = betalingsbetingelselisteHelper.GetById;
                    _domainObjectBuilder.GetAdresseBaseCallback         = adresselisteHelper.GetById;
                    adresser.AddRange(_domainObjectBuilder.BuildMany <FirmaView, AdresseBase>(firmaViews));
                    adresser.AddRange(_domainObjectBuilder.BuildMany <PersonView, AdresseBase>(personViews));
                    return(adresser.OrderBy(m => m, new AdresseComparer()).ToList());
                }
            }
            catch (IntranetRepositoryException)
            {
                throw;
            }
            catch (FaultException ex)
            {
                throw new IntranetRepositoryException(ex.Message);
            }
            catch (Exception ex)
            {
                throw new IntranetRepositoryException(Resource.GetExceptionMessage(ExceptionMessage.RepositoryError, MethodBase.GetCurrentMethod().Name, ex.Message), ex);
            }
            finally
            {
                ChannelTools.CloseChannel(channel);
            }
        }