Example #1
0
        public Models.RoomService CreateRoomService(RoomServiceDto roomServiceDto)
        {
            using IDbConnection database = new SqlConnection(DatabaseConnectionString);

            if (CheckIfReservationExist(roomServiceDto.ReservationId) == null)
            {
                return(null);
            }

            const string roomServiceQuery = "INSERT INTO Hotel.RoomService VALUES (@reservationId, @date); SELECT * FROM Hotel.RoomService WHERE id = SCOPE_IDENTITY()";
            var          roomService      = database.QueryFirst <RoomServiceDao>(roomServiceQuery, new { reservationId = roomServiceDto.ReservationId, date = DateTime.Now });

            var orderItems = new List <int>(roomServiceDto.OrderId);

            orderItems.ForEach(item =>
            {
                if (CheckIfItemExist(item) == null)
                {
                    return;
                }

                var roomServiceFoodDao = new RoomServiceItemDao()
                {
                    RoomServiceId = roomService.Id,
                    ItemId        = item
                };

                using IDbConnection connection = new SqlConnection(DatabaseConnectionString);
                const string insertQuery       = "INSERT INTO Hotel.RoomService_Item VALUES (@roomServiceId, @itemId)";
                connection.Execute(insertQuery, roomServiceFoodDao);
            });

            return(TransformDaoToBusinessLogicRoomService(roomService));
        }
Example #2
0
 public ActionResult <Models.RoomService> CreateReservation(RoomServiceDto roomServiceDto)
 {
     return(_roomService.CreateRoomService(roomServiceDto));
 }