-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #65 from PLD-Agile/63-befe-add-delivery-time-and-d…
…isplay-it 63 befe add delivery time and display it
- Loading branch information
Showing
15 changed files
with
511 additions
and
147 deletions.
There are no files selected for viewing
42 changes: 42 additions & 0 deletions
42
src/services/command/commands/update_delivery_request_delivery_man_command.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
from typing import Optional | ||
from uuid import UUID | ||
|
||
from src.models.tour import DeliveryID, TourID | ||
from src.services.command.abstract_command import AbstractCommand | ||
from src.services.tour.tour_service import TourService | ||
|
||
|
||
class UpdateDeliveryRequestDeliveryMan(AbstractCommand): | ||
__delivery_request_id: DeliveryID | ||
__tour_id: TourID | ||
__delivery_man_id: UUID | ||
__previous_delivery_man_id: Optional[UUID] = None | ||
|
||
def __init__( | ||
self, delivery_request_id: DeliveryID, tour_id: TourID, delivery_man_id: UUID | ||
) -> None: | ||
super().__init__("Ajustement du livreur d'une demande de livraison") | ||
self.__delivery_request_id = delivery_request_id | ||
self.__tour_id = tour_id | ||
self.__delivery_man_id = delivery_man_id | ||
|
||
def execute(self) -> None: | ||
self.__previous_delivery_man_id = ( | ||
TourService.instance().update_delivery_request_delivery_man( | ||
delivery_request_id=self.__delivery_request_id, | ||
tour_id=self.__tour_id, | ||
delivery_man_id=self.__delivery_man_id, | ||
) | ||
) | ||
|
||
def undo(self) -> None: | ||
if self.__previous_delivery_man_id is None: | ||
raise Exception("Cannot undo a command that has not been executed") | ||
|
||
TourService.instance().update_delivery_request_delivery_man( | ||
delivery_request_id=self.__delivery_request_id, | ||
tour_id=self.__delivery_man_id, | ||
delivery_man_id=self.__previous_delivery_man_id, | ||
) | ||
|
||
self.__previous_delivery_man_id = None |
41 changes: 41 additions & 0 deletions
41
src/services/command/commands/update_delivery_request_time_window_command.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
from typing import Optional | ||
|
||
from src.models.tour import DeliveryID, TourID | ||
from src.services.command.abstract_command import AbstractCommand | ||
from src.services.tour.tour_service import TourService | ||
|
||
|
||
class UpdateDeliveryRequestTimeWindowCommand(AbstractCommand): | ||
__delivery_request_id: DeliveryID | ||
__tour_id: TourID | ||
__time_window: int | ||
__previous_time_window: Optional[int] = None | ||
|
||
def __init__( | ||
self, delivery_request_id: DeliveryID, tour_id: TourID, time_window: int | ||
) -> None: | ||
super().__init__("Ajustement de la fenêtre de temps d'une demande de livraison") | ||
self.__delivery_request_id = delivery_request_id | ||
self.__tour_id = tour_id | ||
self.__time_window = time_window | ||
|
||
def execute(self) -> None: | ||
self.__previous_time_window = ( | ||
TourService.instance().update_delivery_request_time_window( | ||
delivery_request_id=self.__delivery_request_id, | ||
tour_id=self.__tour_id, | ||
time_window=self.__time_window, | ||
) | ||
) | ||
|
||
def undo(self) -> None: | ||
if self.__previous_time_window is None: | ||
raise Exception("Cannot undo a command that has not been executed") | ||
|
||
TourService.instance().update_delivery_request_time_window( | ||
delivery_request_id=self.__delivery_request_id, | ||
tour_id=self.__tour_id, | ||
time_window=self.__previous_time_window, | ||
) | ||
|
||
self.__previous_time_window = None |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.