public ActionResult <BookingPost> Post([FromBody] BookingPost bookingPost) { if (!ModelState.IsValid) { return(BadRequest()); } return(bookingsRepo.PostBooking(bookingPost)); }
/// <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)); }
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()); } }