public IEnumerable <FirmaView> FirmaGetAll(FirmaGetAllQuery firmaGetAllQuery) { try { return(_queryBus.Query <FirmaGetAllQuery, IEnumerable <FirmaView> >(firmaGetAllQuery)); } catch (Exception ex) { throw CreateFault(MethodBase.GetCurrentMethod(), ex, int.Parse(Properties.Resources.EventLogAdresseRepositoryService)); } }
/// <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); } }
/// <summary> /// Udfører forespørgelse. /// </summary> /// <param name="query">Forespørgelse efter alle firmaer.</param> /// <returns>Alle firmaer.</returns> public IEnumerable <FirmaView> Query(FirmaGetAllQuery query) { if (query == null) { throw new ArgumentNullException("query"); } var getBrevhoved = new Func <int, Brevhoved>(nummer => _fællesRepository.BrevhovedGetByNummer(nummer)); var regnskaber = _finansstyringRepository.RegnskabGetAll(getBrevhoved); var firmaer = _adresseRepository.AdresseGetAll(adresse => MergeInformations(adresse, regnskaber)) .OfType <Firma>() .ToArray(); return(_objectMapper.Map <IEnumerable <Firma>, IEnumerable <FirmaView> >(firmaer)); }