public void HandleBetalingVerwerken(Betaling betaling) { var klantnummer = _bestellingDataMapper.GetByFactuurnummer(betaling.Factuurnummer).Klantnummer; betaling.Klantnummer = klantnummer; try { _betalingDataMapper.Insert(betaling); } catch (Exception ex) { _logger.LogError("DB exception occured with factuurnummer: {0}", betaling.Factuurnummer); _logger.LogDebug( "DB exception occured with betaling {}, it threw exception: {}. Inner exception: {}", betaling, ex.Message, ex.InnerException?.Message ); throw new InvalidFactuurnummerException("Something unexpected happend while inserting into the database"); } ProcessBestellingVerwerken(klantnummer); }
public async Task <ActionResult <BevestigdeBestelling> > GetNextBestelling() { var email = _jwtHelper.GetEmail(HttpContext); var session = _magazijnSessionDataMapper.Find(m => m.MedewerkerEmail == email).FirstOrDefault(); var bestelling = session != null ? _bestellingDataMapper.GetByFactuurnummer(session.Factuurnummer) : _bestellingDataMapper .Find(f => f.BestelStatus == BffWebshopBestelStatus.Goedgekeurd) .OrderBy(b => b.Besteldatum) .FirstOrDefault(); if (bestelling == null) { _logger.LogInformation("Couldn't find any bestelling that has status: Goedgekeurd"); return(NoContent()); } try { if (session == null) { await VerstuurUpdateBestelStatus(bestelling.Factuurnummer, BffWebshopBestelStatus.WordtIngepakt); _magazijnSessionDataMapper.Insert(new MagazijnSessionEntity { Factuurnummer = bestelling.Factuurnummer, MedewerkerEmail = email }); } return(bestelling); } catch (TimeoutException) { _logger.LogError("UpdateBestelStatusCommand resulted in a TimeoutException."); return(StatusCode((int)HttpStatusCode.RequestTimeout, "Aanvraag kon niet worden verwerkt")); } catch (Exception ex) { _logger.LogError("UpdateBestelStatusCommand after GetNextOrder resulted in an error."); _logger.LogDebug( "Exception occured during execution of UpdateBestelStatusCommand when getting next order, it threw exception: {}. Inner exception: {}", ex.Message, ex.InnerException?.Message ); return(StatusCode( (int)HttpStatusCode.InternalServerError, "Er is een fout opgetreden tijdens het updaten van de bestelstatus" )); } }
public void HandleBetalingGeaccrediteerdEvent(BestellingGeaccrediteerdEvent message) { var bestelling = _bestellingDataMapper.GetByFactuurnummer(message.Factuurnummer); var status = bestelling.BestelStatus; bestelling.BestelStatus = status < BestelStatus.Betaald && status != BestelStatus.Verzonden ? BestelStatus.Goedgekeurd : BestelStatus.Afgerond; _bestellingDataMapper.Update(bestelling); var statusBijGewerktEvent = new BestelStatusBijgewerktEvent(bestelling, NameConstants.BestelServiceBestelStatusUpgedateEvent); _eventPublisher.Publish(statusBijGewerktEvent); }
private Bestelling GetBestellingByFactuurNummer(long factuurnummer) { try { return(_bestellingDataMapper.GetByFactuurnummer(factuurnummer)); } catch (Exception ex) { _logger.LogError("DB exception occured with factuurnummer: {0}", factuurnummer); _logger.LogDebug( "DB exception occured while finding factuurnummer {}, it threw exception: {}. Inner exception: {}", factuurnummer, ex.Message, ex.InnerException?.Message ); throw new DatabaseException("Something unexpected happend while find bestelling in the database"); } }