/// <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 TestAtGetByIdKasterIntranetRepositoryExceptionHvisBudgetkontogruppenIkkeFindes() { var fixture = new Fixture(); var budgetkontogrupper = fixture.CreateMany <Budgetkontogruppe>(3).ToList(); var budgetkontogruppelisteHelper = new BudgetkontogruppelisteHelper(budgetkontogrupper); Assert.That(budgetkontogruppelisteHelper, Is.Not.Null); Assert.Throws <IntranetRepositoryException>(() => budgetkontogruppelisteHelper.GetById(-1)); }
public void TestAtGetByIdHenterBudgetkontogruppe() { var fixture = new Fixture(); var budgetkontogrupper = fixture.CreateMany <Budgetkontogruppe>(3).ToList(); var budgetkontogruppelisteHelper = new BudgetkontogruppelisteHelper(budgetkontogrupper); Assert.That(budgetkontogruppelisteHelper, Is.Not.Null); var budgetkontogruppe = budgetkontogruppelisteHelper.GetById(budgetkontogrupper.ElementAt(1).Nummer); Assert.That(budgetkontogruppe, Is.Not.Null); Assert.That(budgetkontogruppe.Nummer, Is.EqualTo(budgetkontogrupper.ElementAt(1).Nummer)); Assert.That(budgetkontogruppe.Navn, Is.Not.Null); Assert.That(budgetkontogruppe.Navn, Is.EqualTo(budgetkontogrupper.ElementAt(1).Navn)); }
/// <summary> /// Henter og returnerer en given gruppe til budgetkonti. /// </summary> /// <param name="nummer">Unik identifikation af gruppen til budgetkonti.</param> /// <returns>Gruppe til budgetkonti.</returns> public virtual Budgetkontogruppe BudgetkontogruppeGetByNummer(int nummer) { var budgetkontogruppelisteHelper = new BudgetkontogruppelisteHelper(Repository.BudgetkontogruppeGetAll()); return(budgetkontogruppelisteHelper.GetById(nummer)); }