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); }
private void HandleStatusChangedEvent(int idOrder, DTO.Status status) { using (var scope = _serviceScopeFactory.CreateScope()) { IOrdersService ordersService = scope.ServiceProvider.GetRequiredService <IOrdersService>(); ordersService.UpdateStatusOrder(idOrder, status); } }
public async Task UpdateStatusOrder(int idOrder, DTO.Status newStatus) { Models.Order order = await GetOrder(idOrder); order.IdStatus = (int)newStatus; await ordersDbContext.SaveChangesAsync(); PublishOrderStatusChange(order); }