コード例 #1
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
        public DataTable ReportAmenities(string flight_num)
        {
            Connection objDAL = new Connection();
            //lấy ra danh sách các dịch vụ
            DataTable list_amenity = objDAL.GetDataInfo("SELECT Amenities.AmenService FROM Amenities");
            //bảng lưu thông tin đầy đủ của cách dịch vụ theo cabin (giá trị null tức khoang đó không có sẵn dịch vụ)
            DataTable amen_by_cabin = new DataTable();

            //đặt tên cho header column là tên các dịch vụ
            for (int i = 0; i < list_amenity.Rows.Count; i++)
            {
                amen_by_cabin.Columns.Add(list_amenity.Rows[i]["AmenService"].ToString());
            }

            Connection objDAL1    = new Connection();
            DataTable  list_cabin = objDAL1.GetDataInfo("SELECT ID FROM CabinTypes");

            //lấy ra dữ liệu của các dịch vụ theo từng cabin 1
            //mã cabin được lấy ra từ list_cabin
            for (int i = 0; i < list_cabin.Rows.Count; i++)
            {
                //bảng dịch vụ dưới dạng cột định dạng thành list và đổ vào datatable kết quả theo hàng (cột -> hàng)
                List <string> temp = objDAL.GetListDataInt("SELECT ISNULL(S.SOLUONG, 0 ) FROM Amenities LEFT JOIN (SELECT AmenitiesTickets.AmenitiesID, Tickets.CabinType, COUNT(*) AS SOLUONG FROM AmenitiesTickets INNER JOIN Tickets ON AmenitiesTickets.TicketID = Tickets.ID LEFT JOIN Schedules ON Tickets.ScheduleID = Schedules.ID WHERE Tickets.CabinType = '" + list_cabin.Rows[i]["ID"].ToString() + "' AND Schedules.FlightNumber = '" + flight_num + "' GROUP BY AmenitiesTickets.AmenitiesID, Tickets.CabinType) S ON Amenities.ID = S.AmenitiesID");
                amen_by_cabin.Rows.Add(temp.ToArray <string>());
            }

            return(amen_by_cabin);
        }
コード例 #2
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
        public DataTable GetTicketInfo(string ticket_id)
        {
            //lấy danh sách các thuộc tính của ticket
            Connection objDAL = new Connection();

            return(objDAL.GetDataInfo("SELECT Tickets.FirstName +' '+Tickets.LastName AS Fullname, Tickets.PassportNumber, CabinTypes.Name FROM Tickets INNER JOIN CabinTypes ON Tickets.CabinType = CabinTypes.ID WHERE Tickets.ID = '" + ticket_id + "'"));
            //Fullname - Passport number - Cabin_name
        }
コード例 #3
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
        //////////////////////////////////////
        //Ticket
        //////////////////////////////////////
        ///

        public bool IsInvalidHour(string ticket_id)
        {
            //kiểm tra giờ thay đổi dịch vụ có hợp lệ không (24h trước h bay - 86400 giây, time > 86400s)
            Connection objDAL = new Connection();
            int        time   = int.Parse(objDAL.GetDataInfo("SELECT DATEDIFF(SECOND , FORMAT(GETDATE(),'HH:mm:ss'),Schedules.Time) + DATEDIFF(SECOND , FORMAT(GETDATE(),'yyyy/MM/dd'), Schedules.Date) AS DateDiff, Schedules.Time,  Schedules.Date FROM Schedules INNER JOIN Tickets ON Tickets.ScheduleID = Schedules.ID WHERE Tickets.ID = '" + ticket_id + "'").Rows[0][0].ToString());

            return(time > 86400);
        }
コード例 #4
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
        //////////////////////////////////////
        //Booking References
        //////////////////////////////////////

        public DataTable GetListTicket(string booking_reference)
        {
            try
            {
                Connection objDAL = new Connection();
                return(objDAL.GetDataInfo("SELECT Tickets.ID,Tickets.ID+', '+Routes.ArrivalAirportID + '-' + Routes.DepartureAirportID + ', ' + CONVERT(NVARCHAR(10),Schedules.Date,103) + ', '+ CONVERT(NVARCHAR(5),Schedules.Time,8) AS INFO FROM Tickets INNER JOIN Schedules ON Tickets.ScheduleID = Schedules.ID INNER JOIN Routes ON Schedules.RouteID = Routes.ID WHERE BookingReference = '" + booking_reference + "'"));
            }
            catch
            {
                throw;
            }
        }
コード例 #5
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
 public DataTable GetListFlight(string date_picked)
 {
     //trả về danh sách các chuyến bay
     try
     {
         Connection objDAL = new Connection();
         return(objDAL.GetDataInfo("SELECT Schedules.FlightNumber FROM Schedules WHERE Date = '" + date_picked + "'"));
     }
     catch
     {
         throw;
     }
 }
コード例 #6
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
        //////////////////////////////////////
        //Cabin
        //////////////////////////////////////

        public DataTable GetListCabin()
        {
            //lấy danh sách cabin trong db ra và trả về dạng datatable
            try
            {
                Connection objDAL = new Connection();
                return(objDAL.GetDataInfo("SELECT CabinTypes.Name FROM CabinTypes "));
            }
            catch
            {
                throw;
            }
        }
コード例 #7
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
 //////////////////////////////////////
 //Schedule
 //////////////////////////////////////
 public bool IsExistFN(string flight_num)
 {
     //tìm kiếm xem có chuyến bay nào mang flight_num trong db không?
     try
     {
         Connection objDAL = new Connection();
         if (objDAL.GetDataInfo("SELECT * FROM Schedules WHERE Schedules.FlightNumber = '" + flight_num + "'").Rows.Count == 0)
         {
             return(false);
         }
         return(true);
     }
     catch
     {
         throw;
     }
 }
コード例 #8
0
ファイル: Connection.cs プロジェクト: DUDY206/Module5A-Final
        /////////////////////////////////////////////////
        ///QUERY - SQL SERVER
        //////////////////////////////////////////////////

        //////////////////////////////////////////////////
        //Amenitites Query
        //////////////////////////////////////////////////
        public DataTable GetListAmenities(string tick_id)
        {
            //Lấy danh sách các amentities có trong cơ sở dữ liệu theo khoang
            try
            {
                Connection objDAL = new Connection();
                DataTable  dt     = objDAL.GetDataInfo("SELECT Amenities.ID,Amenities.AmenService,Amenities.Price,AmenitiesTickets.Price AS PRICE_TICK_AMEN FROM Amenities INNER JOIN AmenitiesCabinType ON Amenities.ID = AmenitiesCabinType.AmenitiesID  INNER JOIN Tickets ON AmenitiesCabinType.CabinTypeID = Tickets.CabinType LEFT JOIN AmenitiesTickets ON AmenitiesTickets.TicketID = Tickets.ID AND AmenitiesTickets.AmenitiesID = Amenities.ID WHERE Tickets.ID = '" + tick_id + "'");
                //Dữ liệu trả về ban đầu theo dạng sau
                //ID        -   INFO    -   PRICE- giá đã mua
                //amt_01	-   BEER    -	20  -	20
                //amt_10	    IWW         0	    NULL
                DataTable dtemp = new DataTable();
                dtemp.Columns.Add("ID", typeof(string));
                dtemp.Columns.Add("Info", typeof(string));
                dtemp.Columns.Add("Price", typeof(double));
                dtemp.Columns.Add("Price_bought", typeof(string));
                DataRow workRow;
                //định dạng lại datatable và add vào một datatable mới
                //ID        -   INFO         -   PRICE - giá đã mua
                //amt_01	-   BEER($20)    -     20  -	20
                //amt_10	    IWW($15)     -     0   -    NULL
                foreach (DataRow row in dt.Rows)
                {
                    workRow    = dtemp.NewRow();
                    workRow[0] = row[0];
                    workRow[2] = double.Parse(row[2].ToString());
                    workRow[3] = row[3];
                    if (row[2].ToString() == "0")
                    {
                        workRow[1] = row[1].ToString() + " ( Free )";
                    }
                    else
                    {
                        workRow[1] = row[1].ToString() + " ( $" + row[2].ToString() + " )";
                    }
                    dtemp.Rows.Add(workRow);
                }
                return(dtemp);
            }
            catch
            {
                throw;
            }
        }