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); }
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); }