示例#1
0
        public async Task UpdateDeliveryStatus(int idDelivery, DTO.Status newStatus)
        {
            Models.Delivery delivery = await GetDelivery(idDelivery);

            delivery.IdStatus = (int)newStatus;
            switch (newStatus)
            {
            case DTO.Status.ToPickUp:
                delivery.TakeChargeDate = DateTime.UtcNow;
                break;

            case DTO.Status.PickedUp:
                delivery.PickUpDate = DateTime.UtcNow;
                break;

            case DTO.Status.Delivered:
                delivery.DeliveryDate = DateTime.UtcNow;
                break;

            case DTO.Status.Canceled:
            default:
                break;
            }
            await deliveriesDbContext.SaveChangesAsync();

            PublishDeliveryStatusChange(delivery);
        }
示例#2
0
 private void HandleStatusChangedEvent(int idOrder, DTO.Status status)
 {
     using (var scope = _serviceScopeFactory.CreateScope())
     {
         IOrdersService ordersService = scope.ServiceProvider.GetRequiredService <IOrdersService>();
         ordersService.UpdateStatusOrder(idOrder, status);
     }
 }
示例#3
0
        public async Task UpdateStatusOrder(int idOrder, DTO.Status newStatus)
        {
            Models.Order order = await GetOrder(idOrder);

            order.IdStatus = (int)newStatus;
            await ordersDbContext.SaveChangesAsync();

            PublishOrderStatusChange(order);
        }