0

単一の「予約」オブジェクトを受け入れる予約アプリがあり、正常に動作します。私の質問は、これを (JSON から) 複数のレコードを受け入れるように変換するにはどうすればよいかということです。

Booking.cs

namespace MvcApplication4.Models
{
    public class Booking
    {
        [Key()]
        public long ID { get; set; }
        public long? HID { get; set; }
        public long RID { get; set; }
        public string Occ { get; set; }
        public DateTime CI { get; set; }
        public DateTime CO { get; set; }
        public long? CID { get; set; }
    }
}

BookingsContext.cs

namespace MvcApplication4.Models
{
    public class BookingsContext : DbContext
    {
    public BookingsContext() : base("name=BookingsContext")
    {
    }
    public DbSet<Booking> Bookings { get; set; }            
    }
}

BookingsController.cs

    // POST api/Bookings
        public HttpResponseMessage PostBooking(Booking booking)
        {
            if (ModelState.IsValid)
            {
                    // Add the booking
                    db.Bookings.Add(booking);
                    db.SaveChanges();
                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, booking);
                    response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = booking.RID }));
                    return response;
                }
            }

現在渡されている JSON は次のとおりです。

var comment = {ID:0, HID: $('#HID').val(), RID:$('#RID').val(), Occ:$('#Occ').val(), CI:$('#CI').val(), CO:$('#CO').val(), CID:$('#CID').val()},{ID:0, HID: $('#HID').val(), RID:$('#RID').val(), Occ:$('#Occ').val(), CI:$('#CI').val(), CO:$('#CO').val(), CID:$('#CID').val()};

JSON Post メソッドを何度も呼び出す必要がないように、複数のレコードをコントローラーに渡すにはどうすればよいですか?

4

1 に答える 1

3

アクションのシグネチャを変更して、Booking の配列を取得できます。

public HttpResponseMessage PostBooking(Booking[] bookings)
{
    ...
}

次に、クライアントから予約の配列を送信します。

var bookings =
    [
        {
            ID: 0,
            HID: 'hid1',
            RID: 'rid1',
            Occ: 'occ1',
            CI: 'ci1',
            CO: 'co1',
            CID: 'cid1'
        },
        {
            ID: 1,
            HID: 'hid2',
            RID: 'rid2',
            Occ: 'occ2',
            CI: 'ci2',
            CO: 'co2',
            CID: 'cid2'
        }
    ];
于 2012-06-14T15:24:50.833 に答える