Ejemplo n.º 1
0
        private static bool IsSameAsFractionCalculation(DasEnglishFraction fraction, FractionCalculation fractionCalculation)
        {
            var fractiondate         = fraction.DateCalculated;
            var fractionAmountString = fraction.Amount.ToString(CultureInfo.InvariantCulture);

            var fractionCalculationAmount = fractionCalculation.Fractions.First().Value;

            return(fractiondate.Equals(fractionCalculation.CalculatedAt) &&
                   fractionAmountString.Equals(fractionCalculationAmount));
        }
        public Task CreateEmployerFraction(DasEnglishFraction fractions, string employerReference)
        {
            var parameters = new DynamicParameters();

            parameters.Add("@EmpRef", employerReference, DbType.String);
            parameters.Add("@Amount", fractions.Amount, DbType.Decimal);
            parameters.Add("@dateCalculated", fractions.DateCalculated, DbType.DateTime);

            return(_db.Value.Database.Connection.ExecuteAsync(
                       sql: "INSERT INTO [employer_financial].[EnglishFraction] (EmpRef, DateCalculated, Amount) VALUES (@empRef, @dateCalculated, @amount);",
                       param: parameters,
                       transaction: _db.Value.Database.CurrentTransaction.UnderlyingTransaction,
                       commandType: CommandType.Text));
        }
        public async Task CreateEmployerFraction(DasEnglishFraction fractions, string employerReference)
        {
            await WithConnection(async c =>
            {
                var parameters = new DynamicParameters();
                parameters.Add("@EmpRef", employerReference, DbType.String);
                parameters.Add("@Amount", fractions.Amount, DbType.Decimal);
                parameters.Add("@dateCalculated", fractions.DateCalculated, DbType.DateTime);

                return(await c.ExecuteAsync(
                           sql: "INSERT INTO [employer_financial].[EnglishFraction] (EmpRef, DateCalculated, Amount) VALUES (@empRef, @dateCalculated, @amount);",
                           param: parameters,
                           commandType: CommandType.Text));
            });
        }
        public void Arrange()
        {
            SetUp();

            _payeView = new PayeView
            {
                AccountId = AccountId,
                Ref       = "123/ABC"
            };

            _englishFraction = new DasEnglishFraction
            {
                EmpRef         = _payeView.Ref,
                DateCalculated = UpdateDate,
                Amount         = 0.5m
            };

            Query = new GetAccountPayeSchemesQuery()
            {
                HashedAccountId = "123ABC",
                ExternalUserId  = "1234"
            };

            _accountRepository          = new Mock <IPayeRepository>();
            _englishFractionsRepository = new Mock <IEnglishFractionRepository>();
            _hashingService             = new Mock <IHashingService>();

            _accountRepository.Setup(x => x.GetPayeSchemesByAccountId(It.IsAny <long>())).ReturnsAsync(new List <PayeView>
            {
                _payeView
            });

            _englishFractionsRepository.Setup(x => x.GetCurrentFractionForSchemes(It.IsAny <long>(), It.IsAny <IEnumerable <string> >()))
            .ReturnsAsync(new List <DasEnglishFraction> {
                _englishFraction
            });

            _hashingService.Setup(x => x.DecodeValue(It.IsAny <string>()))
            .Returns(AccountId);

            RequestHandler = new GetAccountPayeSchemesQueryHandler(
                _accountRepository.Object,
                _englishFractionsRepository.Object,
                _hashingService.Object,
                RequestValidator.Object);
        }
        public void Arrange()
        {
            _payeView = new PayeView
            {
                AccountId = AccountId,
                Ref       = "123/ABC"
            };

            _englishFraction = new DasEnglishFraction
            {
                EmpRef         = _payeView.Ref,
                DateCalculated = UpdateDate,
                Amount         = 0.5m
            };

            _hashedAccountId = "123ABC";

            _payeSchemesRepository      = new Mock <IPayeRepository>();
            _englishFractionsRepository = new Mock <IEnglishFractionRepository>();
            _hashingService             = new Mock <IHashingService>();

            _payeSchemesRepository.Setup(x => x.GetPayeSchemesByAccountId(It.IsAny <long>())).ReturnsAsync(new List <PayeView>
            {
                _payeView
            });

            _englishFractionsRepository.Setup(x => x.GetCurrentFractionForSchemes(It.IsAny <long>(), It.IsAny <IEnumerable <string> >()))
            .ReturnsAsync(new List <DasEnglishFraction> {
                _englishFraction
            });

            _hashingService.Setup(x => x.DecodeValue(It.IsAny <string>()))
            .Returns(AccountId);

            SUT = new PayeSchemesService(
                _payeSchemesRepository.Object,
                _englishFractionsRepository.Object,
                _hashingService.Object);
        }