Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        /// <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));
        }
Beispiel #5
0
        /// <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);
        }