A2Pro THPT Buôn Ma Thuột [2007-2010]

Có một nơi mà chúng ta sẽ không bao giờ quên.. nơi thấm đẫm tình bạn, tình yêu thương thân thiết, nơi gắn bó mãi mãi với những kí ức đẹp nhất của thời học sinh yêu dấu... Nơi đó là đây !

Đăng Nhập

Quên mật khẩu

Latest topics


[ASP.net] Post JSON data to WCF RESTful Service using jQuery

Share

ƒ®ï€ñð
Lang thang !!
Lang thang !!

Gender : Nam

Posts Posts : 5150 Thanked : 915
Coins Coins : 11736
Tham Gia : 26/08/2008
Birthday : 05/08/1992

Status Status : 0 - 0 thể - 0 bao giờ ^^

code [ASP.net] Post JSON data to WCF RESTful Service using jQuery

Bài gửi by ƒ®ï€ñð on Mon Nov 03, 2014 10:11 am

IService.cs:
Code:
[OperationContract]
        [WebInvoke(Method = "POST",
                    RequestFormat = WebMessageFormat.Json,
                    ResponseFormat = WebMessageFormat.Json,
                    UriTemplate = "BookTicket")]
        string BookTicket(Ticket tk);

Service.cs:
Code:
 public string BookTicket(Ticket tk)
        {
            int flag_passenger = 0;
            int flag_flight = 0;
            foreach (var f in GetFlightInformation())
            {
                if (f.Flight_ID == tk.Flight_ID)
                {
                    flag_flight = 1;
                    break;
                }
            }
            if (flag_flight == 1)
            {
                foreach (var i in GetPassengerInformation())
                {
                    if (i.Passenger_ID == tk.Passenger_ID)
                    {
                        GetSeatInformation(tk.Flight_ID);
                        if ((tk.SeatType == 1 && tk.SeatNumber > seats.Type1_Available) || (tk.SeatType == 2 && tk.SeatNumber > seats.Type2_Available) || (tk.SeatType != 1 && tk.SeatType != 2))
                        {
                            return "Seat type " + tk.SeatType + " is not available. Please choose another seat type !";
                        }
                        else
                        {
                            int seattype_price;
                            if (tk.SeatType == 1)
                            {
                                seattype_price = (int)db.Flights.Where(g => g.Flight_ID == tk.Flight_ID).Select(p => p.PriceSeat1).First();
                            }
                            else
                            {
                                seattype_price = (int)db.Flights.Where(g => g.Flight_ID == tk.Flight_ID).Select(p => p.PriceSeat2).First();
                            }


                            int tkid = db.Tickets.Where(g => g.Flight_ID == tk.Flight_ID).Count() + 1;
                            var ticket = new Ticket
                            {
                                Ticket_ID = tk.Flight_ID + "_Type" + tk.SeatType + "_" + tkid,
                                Passenger_ID = tk.Passenger_ID,
                                Flight_ID = tk.Flight_ID,
                                SeatNumber = tk.SeatNumber,
                                SeatType = tk.SeatType,
                                SeatPrice = seattype_price
                            };
                            db.Tickets.Add(ticket);
                            db.SaveChanges();

                            //return "Thanks ! You booked seat type " + tk.SeatType + " succesfully !";
                        }
                        flag_passenger = 1;
                    }
                }
                if (flag_passenger == 0)
                {
                    return "Passenger ID " + tk.Passenger_ID + " is not in system !";
                }
                else
                {
                    return "Thanks ! You booked seat type " + tk.SeatType + " succesfully !";
                }
            }
            else
            {
                return "Flight ID " + tk.Flight_ID + " is not in system !";
            }


        }

BookTicket.cshtml:
Code:

@{
    ViewBag.Title = "BookTicket";
}

<h2>BookTicket</h2>

<script type="text/javascript">
    function bookticket() {
        var ticketData = {
            "Passenger_ID": document.getElementById("passengerid").value.toString(),
            "Flight_ID": document.getElementById("flightid").value.toString(),
            "SeatType": document.getElementById("seattype").value,
            "SeatNumber": document.getElementById("seatnumber").value
        };
        $.ajax({
            type: "POST",
            url: "http://localhost:1653/Service1.svc/BookTicket",
            data: JSON.stringify(ticketData),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            processData: true,
            success: function (data, status, jqXHR) {
                alert(data);
            },
            error: function (xhr) {
                alert('Error! Please try again !');
            }
        });
    }
</script>

    <table>
        <tr style="height:40px">
            <td><b>Flight ID: </b></td>

            <td><input type="text" id="flightid" value="@ViewBag.flightid" /></td>
        </tr>
        <tr style="height: 40px">
            <td width="120px">
                <b>Passenger ID: </b>
            </td>
            <td><input type="text" id="passengerid" /></td>
        </tr>
        <tr style="height: 40px">
            <td>
                <b>Seat type: </b>
            </td>
            <td> <select id="seattype"><option>1</option><option>2</option></select></td>
        </tr>
        <tr style="height: 40px">
            <td>
                <b>Seat number: </b>
            </td>
            <td><input type="text" id="seatnumber" /></td>
        </tr>
        <tr style="height: 40px">
            <td align="right" colspan="2"><input onclick="bookticket()" type="submit" value="Book Ticket" /></td>
        </tr>
    </table>

    Hôm nay: Sun Dec 11, 2016 7:15 am