public async Task <IActionResult> Get(string id) { logger.LogInformation("In Get action with id: {Id}", id); var delivery = await deliveryRepository.GetAsync(id); if (delivery == null) { logger.LogDebug("Delivery id: {Id} not found", id); return(NotFound()); } return(Ok(delivery)); }
private async Task <Delivery> GetDelivery(int deliveryId) { var delivery = await _deliveryRepository.GetAsync(deliveryId); _existsDelivery.EnforceRule(delivery, $"Delivery with id {deliveryId} not found"); return(delivery); }
public async Task <DeliveryDto> GetAsync(Guid deliveryId) { if (deliveryId == default) { throw new ArgumentException("Delivery id is invalid.", nameof(deliveryId)); } var delivery = await _deliveryRepository.GetAsync(deliveryId); if (delivery == null) { throw new Exception($"Could not find delivery with id = '{deliveryId}'."); } return(_mapper.Map <Delivery, DeliveryDto>(delivery)); }
private async Task <Delivery> GetDelivery(int deliveryId) { var delivery = await _deliveryRepository.GetAsync(d => d.Id == deliveryId && d.PartnerId == _userContext.UserDetails.PartnerId && d.State == DeliveryState.Approved); _existsDelivery.EnforceRule(delivery, $"Delivery with id {deliveryId} not found"); return(delivery); }
public async Task <ActionResult> GetAsync(Guid id) { var order = await _deliveryRepository.GetAsync(id); if (order == null) { return(NotFound()); } return(Ok(order)); }
private async Task <Delivery> GetDelivery(int deliveryId) { var delivery = await _deliveryRepository.GetAsync(d => d.Id == deliveryId && d.UserId == _userContext.UserDetails.UserConsumerMarketId && d.State == DeliveryState.Created && d.AccessWindow.StartTime > DateTime.UtcNow); _existsDelivery.EnforceRule(delivery, $"Delivery with id {deliveryId} not found"); return(delivery); }
private async Task <Delivery> GetDelivery(int deliveryId) { var delivery = await _deliveryRepository.GetAsync(d => d.Id == deliveryId && _userContext.UserDetails.Role == Role.Partner ?d.PartnerId == _userContext.UserDetails.PartnerId : d.UserId == _userContext.UserDetails.UserConsumerMarketId && (d.State == DeliveryState.Created || d.State == DeliveryState.Approved)); _existsDelivery.EnforceRule(delivery, $"Delivery with id {deliveryId} not found"); return(delivery); }
public async Task <bool> Handle(SetAvailableDeliveryStatusCommand message, CancellationToken cancellationToken) { var delivery = await _deliveryRepository.GetAsync(message.DeliveryId); if (delivery == null) { return(false); } _logger.LogInformation("----- Setting Delivery status to Available: {@Delivery}", delivery); delivery.SetDeliveryAvailableStatus(); return(await _deliveryRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken)); }
public async Task Handle(DeliveryStatusChangedToCourierPickedUpIntegrationEvent @event) { var delivery = await _deliveryRepository.GetAsync(@event.DeliveryId); if (delivery == null) { throw new DeliveryDomainException($"Delivery not found with specified id: {@event.DeliveryId}"); } _logger.LogInformation("----- Setting Delivery status to CourierPickedUp: {@delivery}", delivery); delivery.SetCourierPickedUpDeliveryStatus(); await _deliveryRepository.UnitOfWork.SaveEntitiesAsync(); }
public async Task <Delivery> TrackJob(string code) { try { var data = await _deliveryRepository .GetAsync(x => x.Code == code, includeProperties : "Warehouse.Location,Destination,Direction.Steps"); return(data.FirstOrDefault()); } catch (Exception ex) { throw ex; } }
public async Task <bool> Handle(DeleteDeliveryCommand message, CancellationToken cancellationToken) { var delivery = await _deliveryRepository.GetAsync(message.DeliveryId); if (delivery == null) { return(false); } _logger.LogInformation("----- Deleting Delivery: {@DeliveryLocation}", delivery); _deliveryRepository.Delete(delivery); return(await _deliveryRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken)); }
public async Task Handle(CourierAssignedToDeliveryIntegrationEvent @event) { var delivery = await _deliveryRepository.GetAsync(@event.DeliveryId); if (delivery == null) { throw new DeliveryDomainException($"Delivery not found with specified id: {@event.DeliveryId}"); } delivery.AssignCourier(@event.CourierId); _logger.LogInformation("----- Courier assigned to delivery: {@delivery}", delivery); await _deliveryRepository.UnitOfWork.SaveEntitiesAsync(); }
public async Task <DeliveryDto> GetAsync(int deliveryId) { return(_mapper.Map <DeliveryDto>(await _deliveryRepository.GetAsync(deliveryId))); }