Beispiel #1
0
        public async Task <bool?> Handle(ProductKindsCommand message, CancellationToken cancellationToken)
        {
            var application = await _applicationRepository.GetAsync(message.ApplicationId);

            if (application != null)
            {
                CreditLineLimits cll = new CreditLineLimits
                {
                    ProductKinds = message.ProductKinds
                };
                var res = _arrangementRequestRepository.SetCreditLineProductKinds
                              (message.ApplicationId, message.ArrangementRequestId, cll, application);

                var appNumberString = "0000000000" + message.ApplicationId;
                appNumberString = appNumberString.Substring(appNumberString.Length - 10);
                _logger.LogDebug("Before publish ", appNumberString);
                var messageObj = _eventFactory.CreateBuilder("offer", "credit-line-limits-added")
                                 .AddBodyProperty("application-number", appNumberString)
                                 .AddHeaderProperty("application-number", appNumberString)
                                 .Build();
                _eventBus.Publish(messageObj);
                _logger.LogDebug("After publish ", appNumberString);
                return(await res);
            }
            return(null);
        }
Beispiel #2
0
        public async Task <bool?> SetCreditLineProductKinds(long applicationNumber, int arrangementRequestId,
                                                            CreditLineLimits command, Application application)
        {
            var arrRequest = _context.ArrangementRequests.Include(ar => ar.ProductSnapshotDb).Where(p => p.ApplicationId == applicationNumber &&
                                                                                                    p.ArrangementRequestId == arrangementRequestId).FirstOrDefault();

            if (arrRequest == null)
            {
                return(null);
            }

            if (arrRequest is CreditLineRequest tlr)
            {
                CreditLineLimits cll = new CreditLineLimits
                {
                    AllowedRevolvingLineUsers = tlr.CreditLineLimits.AllowedRevolvingLineUsers,
                    ProductKinds = command.ProductKinds
                };

                tlr.CreditLineLimits = new CreditLineLimits();
                tlr.CreditLineLimits = cll;
            }

            await _context.SaveEntitiesAsync();

            return(true);
        }