/// <summary> /// Henter og returnerer er givent regnskab. /// </summary> /// <param name="nummer">Unik identifikation af regnskabet.</param> /// <returns>Regnskab.</returns> public virtual Regnskab RegnskabGetByNummer(int nummer) { var brevhovedlisteHelper = new BrevhovedlisteHelper(FællesRepository.BrevhovedGetAll()); var adresselisteHelper = new AdresselisteHelper(AdresseRepository.AdresseGetAll()); return(Repository.RegnskabGet(nummer, brevhovedlisteHelper.GetById, adresselisteHelper.GetById)); }
public void TestAtBogføringslinjeAddTilføjerBogføringslinjer() { // Hent regnskab og find nødvendige konti. var adresselisteHelper = new AdresselisteHelper(_adresseRepository.AdresseGetAll()); var brevhovedlisteHelper = new BrevhovedlisteHelper(_fællesRepository.BrevhovedGetAll()); var regnskab = _finansstyringRepository.RegnskabGet(1, brevhovedlisteHelper.GetById, adresselisteHelper.GetById); var kontoDankort = regnskab.Konti.OfType <Konto>().Single(m => m.Kontonummer == "DANKORT"); var budgetkontoØvrigeUdgifter = regnskab.Konti.OfType <Budgetkonto>().Single(m => m.Kontonummer == "8990"); var bogføringer = budgetkontoØvrigeUdgifter.Bogføringslinjer.Count(); // Opret bogføringer. var result1 = _finansstyringRepository.BogføringslinjeAdd(DateTime.Now, null, kontoDankort, "Test fra Repositories", budgetkontoØvrigeUdgifter, 5000M, 0M, null); Assert.That(result1, Is.Not.Null); Assert.That(result1.Løbenummer, Is.GreaterThan(0)); var result2 = _finansstyringRepository.BogføringslinjeAdd(DateTime.Now, null, kontoDankort, "Test fra Repositories", budgetkontoØvrigeUdgifter, 0M, 5000M, null); Assert.That(result2, Is.Not.Null); Assert.That(result2.Løbenummer, Is.GreaterThan(0)); // Genindlæs regnskab og find nødvendige konti. regnskab = _finansstyringRepository.RegnskabGet(1, brevhovedlisteHelper.GetById, adresselisteHelper.GetById); budgetkontoØvrigeUdgifter = regnskab.Konti.OfType <Budgetkonto>().Single(m => m.Kontonummer == "8990"); Assert.That(budgetkontoØvrigeUdgifter.Bogføringslinjer.Count(), Is.EqualTo(bogføringer + 2)); }
/// <summary> /// Henter og returnerer alle adressekonti i et givent regnskab. /// </summary> /// <param name="regnskabsnummer">Regnskabsnummer.</param> /// <returns>Alle adressekonti i et givent regnskab.</returns> public virtual IEnumerable <AdresseBase> AdressekontoGetAllByRegnskab(int regnskabsnummer) { var brevhovedlisteHelper = new BrevhovedlisteHelper(FællesRepository.BrevhovedGetAll()); var adresselisteHelper = new AdresselisteHelper(AdresseRepository.AdresseGetAll()); Repository.RegnskabGet(regnskabsnummer, brevhovedlisteHelper.GetById, adresselisteHelper.GetById); return(adresselisteHelper.Adresser.ToList()); }
public void TestAtRegnskabGetHenterRegnskab() { var adresselisteHelper = new AdresselisteHelper(_adresseRepository.AdresseGetAll()); var brevhovedlisteHelper = new BrevhovedlisteHelper(_fællesRepository.BrevhovedGetAll()); var regnskab = _finansstyringRepository.RegnskabGet(1, brevhovedlisteHelper.GetById, adresselisteHelper.GetById); Assert.That(regnskab, Is.Not.Null); Assert.That(regnskab.Nummer, Is.EqualTo(1)); }
public void TestAtGetByIdKasterIntranetRepositoryExceptionHvisAdresseBaseIkkeFindes() { var fixture = new Fixture(); var adresser = fixture.CreateMany <Person>(3).ToList(); var adresselisteHelper = new AdresselisteHelper(adresser); Assert.That(adresselisteHelper, Is.Not.Null); Assert.Throws <IntranetRepositoryException>(() => adresselisteHelper.GetById(-1)); }
public void TestAtConstructorInitiererAdresselisteHelper() { var fixture = new Fixture(); var adresser = fixture.CreateMany <Person>(3).ToList(); var adresselisteHelper = new AdresselisteHelper(adresser); Assert.That(adresselisteHelper, Is.Not.Null); Assert.That(adresselisteHelper.Adresser, Is.Not.Null); Assert.That(adresselisteHelper.Adresser.Count(), Is.EqualTo(adresser.Count())); }
/// <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); } }
public void TestAtGetByIdHenterAdresseBase() { var fixture = new Fixture(); var adresser = fixture.CreateMany <Person>(3).ToList(); var adresselisteHelper = new AdresselisteHelper(adresser); Assert.That(adresselisteHelper, Is.Not.Null); var adresseBase = adresselisteHelper.GetById(adresser.ElementAt(1).Nummer); Assert.That(adresseBase, Is.Not.Null); Assert.That(adresseBase.Nummer, Is.EqualTo(adresser.ElementAt(1).Nummer)); Assert.That(adresseBase.Navn, Is.Not.Null); Assert.That(adresseBase.Navn, Is.EqualTo(adresser.ElementAt(1).Navn)); }
/// <summary> /// Henter og returnerer en given adresse. /// </summary> /// <param name="nummer">Unik identifikation af adressen.</param> /// <returns>Adresse.</returns> public virtual AdresseBase AdresseGetByNummer(int nummer) { var adresselisteHelper = new AdresselisteHelper(Repository.AdresseGetAll()); return(adresselisteHelper.GetById(nummer)); }
/// <summary> /// Henter og returnerer en given adressekonto i et givent regnskab. /// </summary> /// <param name="regnskabsnummer">Regnskabsnummer.</param> /// <param name="nummer">Unik identifikation af adressekontoen.</param> /// <returns>Adressekonto.</returns> public virtual AdresseBase AdressekontoGetByRegnskabAndNummer(int regnskabsnummer, int nummer) { var adresselisteHelper = new AdresselisteHelper(AdressekontoGetAllByRegnskab(regnskabsnummer)); return(adresselisteHelper.GetById(nummer)); }
/// <summary> /// Evaluerer kommando til oprettelse af en bogføringslinje. /// </summary> /// <param name="command">Kommando til oprettelse af en bogføringslinje.</param> /// <param name="konto">Returnering af konto, hvorpå bogføringslinjen skal bogføres.</param> /// <param name="budgetkonto">Returnering af budgetkonto, hvorpå bogføringslinjen skal bogføres.</param> /// <param name="adressekonto">Returnering af adressekonto, hvorpå bogføringslinjen skal bogføres.</param> private void EvaluateCommand(BogføringslinjeOpretCommand command, out Konto konto, out Budgetkonto budgetkonto, out AdresseBase adressekonto) { var adresselisteHelper = new AdresselisteHelper(AdresseRepository.AdresseGetAll()); var brevhovedlisteHelper = new BrevhovedlisteHelper(FællesRepository.BrevhovedGetAll()); var regnskab = Repository.RegnskabGet(command.Regnskabsnummer, brevhovedlisteHelper.GetById, adresselisteHelper.GetById); var currentTime = DateTime.Now; if (command.Dato.Date < currentTime.AddDays(_konfigurationRepository.DageForBogføringsperiode * -1).Date) { throw new IntranetBusinessException(Resource.GetExceptionMessage(ExceptionMessage.BalanceLineDateToOld, _konfigurationRepository.DageForBogføringsperiode)); } if (command.Dato.Date > currentTime.Date) { throw new IntranetBusinessException(Resource.GetExceptionMessage(ExceptionMessage.BalanceLineDateIsForwardInTime)); } if (string.IsNullOrEmpty(command.Kontonummer)) { throw new IntranetBusinessException(Resource.GetExceptionMessage(ExceptionMessage.BalanceLineAccountNumberMissing)); } try { konto = regnskab.Konti.OfType <Konto>().Single(m => String.Compare(m.Kontonummer, command.Kontonummer, StringComparison.Ordinal) == 0); } catch (InvalidOperationException ex) { throw new IntranetRepositoryException(Resource.GetExceptionMessage(ExceptionMessage.CantFindObjectById, typeof(Konto).Name, command.Kontonummer), ex); } if (string.IsNullOrEmpty(command.Tekst)) { throw new IntranetBusinessException(Resource.GetExceptionMessage(ExceptionMessage.BalanceLineTextMissing)); } budgetkonto = null; if (!string.IsNullOrEmpty(command.Budgetkontonummer)) { try { budgetkonto = regnskab.Konti.OfType <Budgetkonto>().Single(m => String.Compare(m.Kontonummer, command.Budgetkontonummer, StringComparison.Ordinal) == 0); } catch (InvalidOperationException ex) { throw new IntranetRepositoryException(Resource.GetExceptionMessage(ExceptionMessage.CantFindObjectById, typeof(Budgetkonto).Name, command.Budgetkontonummer), ex); } } if (command.Debit < 0M) { throw new IntranetBusinessException(Resource.GetExceptionMessage(ExceptionMessage.BalanceLineValueBelowZero)); } if (command.Kredit < 0M) { throw new IntranetBusinessException(Resource.GetExceptionMessage(ExceptionMessage.BalanceLineValueBelowZero)); } if (command.Debit == 0M && command.Kredit == 0M) { throw new IntranetBusinessException(Resource.GetExceptionMessage(ExceptionMessage.BalanceLineValueMissing)); } adressekonto = null; if (command.Adressekonto == 0) { return; } adressekonto = adresselisteHelper.GetById(command.Adressekonto); }