public async Task <int> Handle(AddClaimCommand request, CancellationToken cancellationToken) { var claimDocument = new ClaimDocument(); claimDocument.Name = request.Name; claimDocument.Year = request.Year; claimDocument.DamageCost = request.DamageCost.ToString("F"); claimDocument.Type = request.Type.GetDescription(); claimDocument.CreatedAt = DateTime.UtcNow; _cosmosDbClaimDocumentService.AddItem(claimDocument); var claimChangeNotification = new ClaimChangeEventNotification() { ClaimAudit = new ClaimAudit() { Id = Convert.ToInt32(claimDocument.Id), Name = request.Name, Year = request.Year, DamageCost = request.DamageCost, Type = request.Type.GetDescription(), CreatedAt = claimDocument.CreatedAt, RequestName = "Add Claim" } }; await _mediator.Publish(claimChangeNotification); return(0); }
public async Task <Unit> Handle(DeleteClaimCommand request, CancellationToken cancellationToken) { var claimDocument = await _cosmosDbClaimDocumentService.GetItemAsync(request.Id); if (claimDocument == null) { throw new NotFoundException(nameof(ClaimDocument), request.Id); } await _cosmosDbClaimDocumentService.DeleteItemAsync(request.Id); var claimChangeNotification = new ClaimChangeEventNotification() { ClaimAudit = new ClaimAudit() { Id = Convert.ToInt32(request.Id), Name = claimDocument.Name, Year = claimDocument.Year, DamageCost = Convert.ToDecimal(claimDocument.DamageCost), Type = claimDocument.Type, CreatedAt = claimDocument.CreatedAt, RequestName = "Delete Claim" } }; await _mediator.Publish(claimChangeNotification); return(Unit.Value); }
public async Task Test_ClaimChangeEventNotification_ShouldPublishEventToEventGrid() { var configuration = TestHelper.GetConfiguration(); var publishEvent = TestHelper.GetPublishEvent(configuration); ClaimChangeEventNotification claimChangeEvent = new ClaimChangeEventNotification() { ClaimAudit = new ClaimAudit() { Id = 2, Name = "Test Name", Year = 2015, DamageCost = 23.1M, Type = ClaimType.Collision.GetDescription(), CreatedAt = DateTime.UtcNow, RequestName = "Add Claim" } }; var handler = new ClaimChangeEventNotificationHandler(publishEvent); await handler.Handle(claimChangeEvent, CancellationToken.None); Assert.IsTrue(true); }