public async Task <PortfolioChangeRequests> UpdatePortfolioChangeRequests(PortfolioChangeRequests portfolioChangeRequest, bool auditLog) { PortfolioChangeRequests _portfolioChangeRequest = await _context.PortfolioChangeRequests .Where(p => p.PortfolioChangeRequestId.Equals(portfolioChangeRequest.PortfolioChangeRequestId)).FirstOrDefaultAsync(); if (_portfolioChangeRequest != null) { _portfolioChangeRequest.FinalValue = portfolioChangeRequest.FinalValue; _portfolioChangeRequest.Status = ChangeRequestsKindApp.UpdateCompleted; PortfolioChangeRequests _savedRequest = _context.PortfolioChangeRequests.Update(_portfolioChangeRequest).Entity; await _context.SaveChangesAsync(); if (auditLog) { await _auditClient.WriteLogEntry(AuditLogEntryAction.Update, AuditLogEntryStatus.Success, "portfolio", portfolioChangeRequest.ApplicationNumber.ToString(), "Portfolio has been updated", _savedRequest); } return(_savedRequest); } else { return(null); } }
public async Task <CommandStatus> Handle(ChangePortfolioCommand request, CancellationToken cancellationToken) { var application = await this._applicationRepository.GetAsync(request.ApplicationNumber); if (application == null) { return(new CommandStatus { CommandResult = StandardCommandResult.NOT_FOUND }); } PortfolioChangeRequests portfolioChangeRequest = new PortfolioChangeRequests { ApplicationId = application.ApplicationId, ChangeRequestTime = DateTime.UtcNow, InitialValue = application.OrganizationUnitCode, RequestedValue = request.RequestedValue, RequestDescription = request.RequestDescription, Status = ChangeRequestsKindApp.Update }; var result = await _changePortfolioRepository.PostPortfolioChangeRequests(portfolioChangeRequest, request.AuditLog); var msgBuilder = _messageEventFactory.CreateBuilder("offer", "application-portfolio-change-requested") .AddHeaderProperty("application-number", request.ApplicationNumber.GetApplicationNumber()) .AddBodyProperty("change-request-id", result.PortfolioChangeRequestId); _logger.LogInformation("Sennding message {BrokerMessageName} event to broker on topic {BrokerTopicName} for application: {ApplicationNumber}", "application-portfolio-change-requested", "offer", request.ApplicationNumber); _eventBus.Publish(msgBuilder.Build()); return(new CommandStatus { CommandResult = StandardCommandResult.OK }); }
public async Task <PortfolioChangeRequests> PostPortfolioChangeRequests(PortfolioChangeRequests portfolioChangeRequest, bool auditLog) { try { PortfolioChangeRequests _savedRequest = _context.PortfolioChangeRequests.Add(portfolioChangeRequest).Entity; await _context.SaveChangesAsync(); if (auditLog) { await _auditClient.WriteLogEntry(AuditLogEntryAction.Add, AuditLogEntryStatus.Success, "portfolio", portfolioChangeRequest.ApplicationNumber.ToString(), "Portfolio added", _savedRequest); } return(_savedRequest); } catch (Exception) { return(null); } }
public async Task <CommandStatus> Handle(ChangePortfolioAcceptCommand request, CancellationToken cancellationToken) { var application = await this._applicationRepository.GetAsync(request.ApplicationNumber); if (application == null) { return(new CommandStatus { CommandResult = StandardCommandResult.NOT_FOUND }); } PortfolioChangeRequests postPortfolioChangeRequest = new PortfolioChangeRequests { PortfolioChangeRequestId = request.PortfolioChangeRequestId, ApplicationId = application.ApplicationId, FinalValue = request.FinalValue }; var result = await _changePortfolioRepository.UpdatePortfolioChangeRequests(postPortfolioChangeRequest, request.AuditLog); return(new CommandStatus { CommandResult = StandardCommandResult.OK }); }
public async Task <PortfolioChangeRequests> GetRequest(long applicationNumber, long portfolioChangeRequestId) { try { PortfolioChangeRequests portfolioChangeRequests = await _context.PortfolioChangeRequests. Where(p => p.PortfolioChangeRequestId.Equals(portfolioChangeRequestId) && p.ApplicationId.Equals(applicationNumber)).FirstOrDefaultAsync(); if (portfolioChangeRequests != null) { await _auditClient.WriteLogEntry(AuditLogEntryAction.Get, AuditLogEntryStatus.Success, "portfolio", applicationNumber.ToString(), "Portfolio change request", portfolioChangeRequests); return(portfolioChangeRequests); } else { return(null); } } catch (Exception) { return(null); } }