private void OnUpdateProduct(ProductUpdateEvent @event) { Id = @event.Id; ProductName = @event.ProductName; SupplierID = @event.SupplierID; CategoryID = @event.CategoryID; QuantityPerUnit = @event.QuantityPerUnit; UnitPrice = @event.UnitPrice; UnitsInStock = @event.UnitsInStock; }
public async Task <Response <ProductDetailApiModel> > Handle(UpdateProductCommand request, CancellationToken cancellationToken) { await _repo.UpdateProductAsync(request, cancellationToken).ConfigureAwait(false); await _repo.SaveAsync(cancellationToken).ConfigureAwait(false); var model = _mapper.Map <ProductDetailApiModel>(await _repo.GetProductByIdAsync(request.Id, cancellationToken)); var result = new Response <ProductDetailApiModel>(model, ResponseStatus.Success); var updateEvent = new ProductUpdateEvent(model); await _mediator.Publish(updateEvent, cancellationToken); return(result); }
public ProductViewModel CreateViewModel(object @event) { switch (@event) { case ProductAddEvent x: ProductAddEvent productAddEvent = @event as ProductAddEvent; return(_mapper.Map <ProductViewModel>(productAddEvent)); case ProductUpdateEvent x: ProductUpdateEvent productUpdateEvent = @event as ProductUpdateEvent; return(_mapper.Map <ProductViewModel>(productUpdateEvent)); case ProductRemoveEvent x: ProductRemoveEvent productRemoveEvent = @event as ProductRemoveEvent; return(_mapper.Map <ProductViewModel>(productRemoveEvent)); default: return(null); } }
public Task Handle(ProductUpdateEvent notification, CancellationToken cancellationToken) { _eventBus.AddEvent(notification); return(Task.CompletedTask); }