/// <summary> /// Henter et givent regnskab. /// </summary> /// <param name="nummer">Unik identifikation af regnskabet.</param> /// <param name="getBrevhovedCallback">Callbackmetode til at hente et givent brevhoved.</param> /// <param name="getAdresseCallback">Callbackmetode til at hente en given adresse.</param> /// <returns>Regnskab.</returns> public Regnskab RegnskabGet(int nummer, Func <int, Brevhoved> getBrevhovedCallback, Func <int, AdresseBase> getAdresseCallback) { if (getBrevhovedCallback == null) { throw new ArgumentNullException("getBrevhovedCallback"); } if (getAdresseCallback == null) { throw new ArgumentNullException("getAdresseCallback"); } var channel = _channelFactory.CreateChannel <IFinansstyringRepositoryService>(EndpointConfigurationName); try { // Hent regnskabet. var regnskabQuery = new RegnskabGetByNummerQuery { Regnskabsnummer = nummer }; var regnskabView = channel.RegnskabGetByNummer(regnskabQuery); // Hent alle kontogrupper. var kontogruppeQuery = new KontogruppeGetAllQuery(); var kontogruppeViews = channel.KontogruppeGetAll(kontogruppeQuery); // Hent alle budgetkontogrupper. var budgetkontogruppeQuery = new BudgetkontogruppeGetAllQuery(); var budgetkontogruppeViews = channel.BudgetkontogruppeGetAll(budgetkontogruppeQuery); // Mapning af regnskab. var kontogruppelisteHelper = new KontogruppelisteHelper( _domainObjectBuilder.BuildMany <KontogruppeView, Kontogruppe>(kontogruppeViews)); var budgetkontogruppelisteHelper = new BudgetkontogruppelisteHelper( _domainObjectBuilder.BuildMany <BudgetkontogruppeView, Budgetkontogruppe>(budgetkontogruppeViews)); _domainObjectBuilder.GetKontogruppeCallback = kontogruppelisteHelper.GetById; _domainObjectBuilder.GetBudgetkontogruppeCallback = budgetkontogruppelisteHelper.GetById; _domainObjectBuilder.GetBrevhovedCallback = getBrevhovedCallback; _domainObjectBuilder.GetAdresseBaseCallback = getAdresseCallback; return(_domainObjectBuilder.Build <RegnskabView, Regnskab>(regnskabView)); } 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); } }
public void TestAtGetByIdKasterIntranetRepositoryExceptionHvisKontogruppenIkkeFindes() { var fixture = new Fixture(); var kontogrupper = fixture.CreateMany <Kontogruppe>(3).ToList(); var kontogruppelisteHelper = new KontogruppelisteHelper(kontogrupper); Assert.That(kontogruppelisteHelper, Is.Not.Null); Assert.Throws <IntranetRepositoryException>(() => kontogruppelisteHelper.GetById(-1)); }
public void TestAtGetByIdHenterKontogruppe() { var fixture = new Fixture(); var kontogrupper = fixture.CreateMany <Kontogruppe>(3).ToList(); var kontogruppelisteHelper = new KontogruppelisteHelper(kontogrupper); Assert.That(kontogruppelisteHelper, Is.Not.Null); var kontogruppe = kontogruppelisteHelper.GetById(kontogrupper.ElementAt(1).Nummer); Assert.That(kontogruppe, Is.Not.Null); Assert.That(kontogruppe.Nummer, Is.EqualTo(kontogrupper.ElementAt(1).Nummer)); Assert.That(kontogruppe.Navn, Is.Not.Null); Assert.That(kontogruppe.Navn, Is.EqualTo(kontogrupper.ElementAt(1).Navn)); }
/// <summary> /// Henter og returnerer en given kontogruppe. /// </summary> /// <param name="nummer">Unik identifikation af kontogruppen.</param> /// <returns>Kontogruppe.</returns> public virtual Kontogruppe KontogruppeGetByNummer(int nummer) { var kontogruppelisteHelper = new KontogruppelisteHelper(Repository.KontogruppeGetAll()); return(kontogruppelisteHelper.GetById(nummer)); }