public ActionResult <BookingPost> Post([FromBody] BookingPost bookingPost)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     return(bookingsRepo.PostBooking(bookingPost));
 }
Example #2
0
        /// <summary>
        /// Post a Booking for a given resource
        /// </summary>
        /// <param name="shareId">Resource shareId</param>
        /// <param name="booking">Booking to create</param>
        /// <returns>Task</returns>

        public async Task <BookingPostResponse> PostBooking(string shareId, Booking booking)
        {
            BookingPost bp = new BookingPost
            {
                DateStart = booking.DateStart,
                DateEnd   = booking.DateEnd,
                User      = booking.User.Id
            };

            return(await _client.Request <BookingPostResponse, BookingPost>($"{BookingApiPath(shareId)}/bookings", HttpMethod.Post, bp));
        }
Example #3
0
        public BookingPost PostBooking(BookingPost bookingPost)
        {
            BookingPost postBooking = null;

            using (var con = new NpgsqlConnection(connectionString))
            {
                con.Open();
                int id = -1;
                if (bookingPost.date_booked != null)
                {
                    using (var cmd = new NpgsqlCommand($"INSERT INTO table_bookings (restaurant_id,table_id,hour_booked,date_booked,user_id) VALUES (@restaurant_id,@table_id,@hour_booked,@date_booked,@user_id) RETURNING table_booking_id", con))
                    {
                        cmd.Parameters.AddWithValue("restaurant_id", bookingPost.restaurant_id);
                        cmd.Parameters.AddWithValue("table_id", bookingPost.table_id);
                        cmd.Parameters.AddWithValue("hour_booked", bookingPost.hour_booked);
                        cmd.Parameters.AddWithValue("date_booked", bookingPost.date_booked);
                        cmd.Parameters.AddWithValue("user_id", bookingPost.user_id);
                        id = int.Parse(cmd.ExecuteScalar().ToString());
                    }
                }
                else
                {
                    using (var cmd = new NpgsqlCommand($"INSERT INTO table_bookings (restaurant_id,table_id,x_axis,y_axis,z_axis) VALUES (@restaurant_id,@table_id,@x_axis,@y_axis,@z_axis) RETURNING table_booking_id", con))
                    {
                        cmd.Parameters.AddWithValue("restaurant_id", bookingPost.restaurant_id);
                        cmd.Parameters.AddWithValue("table_id", bookingPost.table_id);
                        cmd.Parameters.AddWithValue("x_axis", bookingPost.x_axis);
                        cmd.Parameters.AddWithValue("y_axis", bookingPost.y_axis);
                        cmd.Parameters.AddWithValue("z_axis", bookingPost.z_axis);
                        id = int.Parse(cmd.ExecuteScalar().ToString());
                    }
                }
                using (var cmd = new NpgsqlCommand($"SELECT * FROM table_bookings WHERE table_booking_id = {id} ", con))
                    using (var reader = cmd.ExecuteReader())
                        while (reader.Read())
                        {
                            postBooking = new BookingPost {
                                restaurant_id = reader.GetIntOrDefault(1),
                                table_id      = reader.GetInt32(2),
                                x_axis        = reader.GetFloatOrDefault(3),
                                y_axis        = reader.GetFloatOrDefault(4),
                                z_axis        = reader.GetFloatOrDefault(5),
                                hour_booked   = reader.GetIntOrDefault(6),
                                date_booked   = reader.GetStringOrDefault(7),
                                user_id       = reader.GetIntOrDefault(8)
                            }
                        }
                ;
            }
            return(postBooking);
        }
    }
        public ActionResult <IEnumerable <string> > PostBooking(string eventUid, BookingPost bookingPost)
        {
            if (model.GetEventId(eventUid) == null)
            {
                return(NotFound());
            }

            var result = model.PostBooking(bookingPost, eventUid);

            if (result)
            {
                return(Ok());
            }
            else
            {
                return(Conflict());
            }
        }