public async Task <IActionResult> GetDeliveryByIdAsync(int id) //Delivery { var query = new GetDeliveryByIdQuery(id); var result = await _meadiator.Send(query); return(result != null ? (IActionResult)Ok(result) : NotFound(result)); //var res = await _deliveryService.GetDeliveryByIdAysnc(id); //if (res == null) //{ // return NotFound(res); //} //var resDTO = _mapper.Map<DeliveryDTO>(res); //return Ok(resDTO); }
public async Task <GetDeliveryByIdQueryResult> HandleAsync(GetDeliveryByIdQuery query, CancellationToken cancellationToken) { using (var session = documentStore.OpenAsyncSession()) { var deliveryDocument = await session.LoadDeliveryAsync(query.TransactionId, cancellationToken).ConfigureAwait(false); if (deliveryDocument == null) { return(null); } var changeVector = session.Advanced.GetChangeVectorFor(deliveryDocument); var delivery = DeliveryMapper.ToServiceContract(documentStore, deliveryDocument); return(new GetDeliveryByIdQueryResult(delivery, changeVector)); } }
public async Task <IActionResult> GetDeliveryDetails(string transactionId, CancellationToken cancellationToken) { var query = new GetDeliveryByIdQuery(transactionId); var result = await getDeliveryByIdQueryHandler.HandleAsync(query, cancellationToken).ConfigureAwait(false); if (result == null) { return(NotFound()); } Response.Headers.Add(CustomHttpHeaderKeys.EntityVersion, result.DocumentVersion); var response = DeliveryMapper.ToApiContract(result.Delivery); return(Ok(response)); }