Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
        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));
        }