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


You are not logged in. this website requires you to be logged in. please log in and try again !
A2Pro THPT Buôn Ma Thuột [2007-2010]

Thành lập năm 2008, từng là một diễn đàn lớp với tất cả tình cảm mình gửi gắm vào. Giờ đây là nơi lưu trữ những thứ lặt vặt mình lượm lặt được trong học tập, công việc và cuộc sống !


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

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

Gender : Nam

Posts Posts : 5165
Thanked : 915
Coins Coins : 11916
Tham Gia : 26/08/2008
Birthday : 05/08/1992

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

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

Bài gửi by ƒ®ï€ñð on 3/11/2014, 10:11

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: 25/4/2017, 00:13