Пример #1
0
        public ActionResult <RoomCheckOutResponse> CheckOutRoom(int roomId, [FromBody] RoomCheckOutInput checkOutInput)
        {
            if (checkOutInput == null)
            {
                return(BadRequest("Wrong input parameters"));
            }
            if (roomId == default)
            {
                return(BadRequest("Room Id required"));
            }

            var totalCost = new CheckOutRoomCommand(roomId, checkOutInput)
                            .InTransactionScope()
                            .Execute(_roomRepository);

            var selfLink = GetRoomSelfLinkById(roomId);
            var response = new RoomCheckOutResponse()
            {
                Id = roomId, TotalCost = totalCost
            };

            return(Ok(response.WithLinks(selfLink)));
        }
Пример #2
0
 public CheckOutRoomCommand(int roomId, RoomCheckOutInput checkOutInput)
 {
     Guard.IsNotNull(checkOutInput, nameof(checkOutInput));
     _checkOutInput = checkOutInput;
     _roomId        = roomId;
 }