示例#1
0
        public void addNewHotel(HotelBook hotel) //Insert the hotel details into db
        {
            string        DBConnect = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
            SqlConnection myConn    = new SqlConnection(DBConnect);

            string sqlStmt = "INSERT INTO HotelBook (hotelPrice, hotelImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName)" +
                             "VALUES (@parahotelprice, @parahotelimage, @paracentralfilter, @paranorthfilter, @parasouthfilter, @parawestfilter, @paraeastfilter, @parahotelname)";


            SqlCommand sqlCmd = new SqlCommand(sqlStmt, myConn);

            sqlCmd.Parameters.AddWithValue("@parahotelprice", hotel.hotelPrice);
            sqlCmd.Parameters.AddWithValue("@parahotelimage", hotel.hotelImage);
            sqlCmd.Parameters.AddWithValue("@paracentralfilter", hotel.centralFilter);
            sqlCmd.Parameters.AddWithValue("@paranorthfilter", hotel.northFilter);
            sqlCmd.Parameters.AddWithValue("@parasouthfilter", hotel.southFilter);
            sqlCmd.Parameters.AddWithValue("@parawestfilter", hotel.westFilter);
            sqlCmd.Parameters.AddWithValue("@paraeastfilter", hotel.eastFilter);
            sqlCmd.Parameters.AddWithValue("@parahotelname", hotel.hotelName);


            myConn.Open();
            sqlCmd.ExecuteNonQuery();
            myConn.Close();
        }
示例#2
0
        void IHotelBookingPresenter.RequestViewHotelBooking(string reference)
        {
            try
            {
                HotelBook reservation = hotelBookingRepository.FindBookHotel(reference);
                HotelRoom hotel       = hotelRoomRepository.FindHotelByID(reservation.HotelID);

                // Creates a new Instance of HotelBooDTO, and updates the Control's Value for Hotel Booking Details Form.
                view.HotelBookDTO = new HotelBookDTO(hotel.ID);

                view.HotelBookDTO.HotelName         = hotel.Name;
                view.HotelBookDTO.HotelDescription  = hotel.Description;
                view.HotelBookDTO.HotelLocation     = hotel.Location.ToString();
                view.HotelBookDTO.HotelRoomImage    = hotel.Room.ConvertToImage();
                view.HotelBookDTO.MinimumGuestCount = hotel.MinGuestCount;
                view.HotelBookDTO.MaximumGuestCount = hotel.MaxGuestCount;
                view.HotelBookDTO.GuestCount        = reservation.GuestCount;
                view.HotelBookDTO.CheckIn           = reservation.CheckIn;
                view.HotelBookDTO.CheckOut          = reservation.CheckOut;
                view.HotelBookDTO.TotalCost         = reservation.TotalCost;


                view.DisplayHotelBooking(true);
            }
            catch (Exception ex) // Catches any exception and display the error message.
            {
                MessageBox.Show("An Error Occured!\r\n" + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#3
0
        public HotelBook selectByHotelId(int hotelId)
        {
            string        DBConnect = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
            SqlConnection myConn    = new SqlConnection(DBConnect);

            string         sqlstmt = "Select * from HotelBook where hotelId = @paraId";
            SqlDataAdapter da      = new SqlDataAdapter(sqlstmt, myConn);

            da.SelectCommand.Parameters.AddWithValue("@paraId", hotelId);

            DataSet ds = new DataSet();

            da.Fill(ds);
            int rec_cnt = ds.Tables[0].Rows.Count;

            HotelBook td = null;

            if (rec_cnt > 0)
            {
                DataRow row           = ds.Tables[0].Rows[0];
                decimal hotelPrice    = Convert.ToDecimal(row["hotelPrice"]);
                string  hotelImage    = row["hotelImage"].ToString();
                bool    centralFilter = Convert.ToBoolean(row["centralFilter"]);
                bool    northFilter   = Convert.ToBoolean(row["northFilter"]);
                bool    southFilter   = Convert.ToBoolean(row["southFilter"]);
                bool    westFilter    = Convert.ToBoolean(row["westFilter"]);
                bool    eastFilter    = Convert.ToBoolean(row["eastFilter"]);
                string  hotelName     = row["hotelName"].ToString();


                td = new HotelBook(hotelId, hotelPrice, hotelImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName);
            }
            return(td);
        }
示例#4
0
        /// <summary>
        /// Finds all Booked Hotel Room by reference key.
        /// </summary>
        /// <param name="reference">The key to be searched with.</param>
        /// <returns><see cref="HotelBook"/></returns>
        HotelBook IHotelBookModelStream.FindBookHotel(string reference)
        {
            string file = FilePath(reference);

            try
            {
                using (var stream = new FileStream(file, FileMode.Open))
                    using (var reader = new StreamReader(stream))
                    {
                        HotelBook hotelBook = new HotelBook();

                        hotelBook.Reference  = reference;
                        hotelBook.HotelID    = Convert.ToInt32(reader.ReadLine());
                        hotelBook.GuestCount = Convert.ToInt32(reader.ReadLine());
                        hotelBook.CheckIn    = Convert.ToDateTime(reader.ReadLine());
                        hotelBook.CheckOut   = Convert.ToDateTime(reader.ReadLine());
                        hotelBook.TotalCost  = Convert.ToDecimal(reader.ReadLine());

                        return(hotelBook);
                    }
            }
            catch (FileNotFoundException)
            {
                throw new HotelBookReferenceNotFoundException();
            }
        }
示例#5
0
        private void regionRepeater()
        {
            if (region.SelectedItem.Value == "Region")
            {
                HotelBook hotel = new HotelBook();
                hotelList = hotel.GetAllHotel();

                RepeatHotel.DataSource = hotelList;
                RepeatHotel.DataBind();
            }

            else if (region.SelectedItem.Value == "Central")
            {
                HotelBook hotel = new HotelBook();
                hotelList = hotel.getCentralHotels();

                RepeatHotel.DataSource = hotelList;
                RepeatHotel.DataBind();
            }

            else if (region.SelectedItem.Value == "North")
            {
                HotelBook hotel = new HotelBook();
                hotelList = hotel.getNorthHotels();

                RepeatHotel.DataSource = hotelList;
                RepeatHotel.DataBind();
            }

            else if (region.SelectedItem.Value == "South")
            {
                HotelBook hotel = new HotelBook();
                hotelList = hotel.getSouthHotels();

                RepeatHotel.DataSource = hotelList;
                RepeatHotel.DataBind();
            }


            else if (region.SelectedItem.Value == "West")
            {
                HotelBook hotel = new HotelBook();
                hotelList = hotel.getWestHotels();

                RepeatHotel.DataSource = hotelList;
                RepeatHotel.DataBind();
            }


            else if (region.SelectedItem.Value == "East")
            {
                HotelBook hotel = new HotelBook();
                hotelList = hotel.getEastHotels();

                RepeatHotel.DataSource = hotelList;
                RepeatHotel.DataBind();
            }
        }
        private void hotelRepeater()
        {
            HotelBook hotel = new HotelBook();

            hotelList = hotel.GetAllHotel();

            repeatHotel.DataSource = hotelList;
            repeatHotel.DataBind();
        }
示例#7
0
        private void RequestCreateHotelBooking(object s, EventArgs e)
        {
            HotelBook hotelBook = view.HotelBookDTO.HotelBook;

            hotelBook.Reference = ReferenceGenerator.Generate(6);   // Generates 6-character reference key.

            hotelBookingRepository.BookHotel(hotelBook);
            hotelRoomRepository.SetHotelInavailablity(hotelBook.HotelID, hotelBook.CheckOut);

            referenceView.DisplayBookingReference(hotelBook.Reference);
            view.CloseView();
        }
示例#8
0
        private void filterRepeater()
        {
            int getMinPrice = Convert.ToInt32(minpriceTB.Text);

            int getMaxPrice = Convert.ToInt32(maxPriceTB.Text);

            HotelBook hotel = new HotelBook(getMinPrice, getMaxPrice);

            hotelList = hotel.getHotelsByPrice();

            RepeatHotel.DataSource = hotelList;
            RepeatHotel.DataBind();
        }
示例#9
0
        /// <summary>
        /// Creates a new Booked Hotel Room.
        /// </summary>
        /// <param name="hotelBook">The data to be stored.</param>
        void IHotelBookModelStream.CreateBookHotel(HotelBook hotelBook)
        {
            string file = FilePath(hotelBook.Reference);

            using (var stream = new FileStream(file, FileMode.Create))
                using (var writer = new StreamWriter(stream))
                {
                    writer.WriteLine(hotelBook.HotelID.ToString());
                    writer.WriteLine(hotelBook.GuestCount.ToString());
                    writer.WriteLine(hotelBook.CheckIn.ToString());
                    writer.WriteLine(hotelBook.CheckOut.ToString());
                    writer.WriteLine(hotelBook.TotalCost.ToString());
                }
        }
示例#10
0
        public List <HotelBook> getHotelsByPrice(int minPriceFilter, int maxPriceFilter)
        {
            //Step 1 -  Define a connection to the database by getting
            //          the connection string from web.config
            string        DBConnect = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
            SqlConnection myConn    = new SqlConnection(DBConnect);

            //Step 2 -  Create a DataAdapter to retrieve data from the database table
            string sqlStmt = "Select * from HotelBook " +
                             "WHERE hotelPrice >= @paraMinPriceFilter AND  " +
                             "hotelPrice <= @paraMaxPriceFilter";
            SqlDataAdapter da = new SqlDataAdapter(sqlStmt, myConn);

            da.SelectCommand.Parameters.AddWithValue("@paraMinPriceFilter", minPriceFilter);

            da.SelectCommand.Parameters.AddWithValue("@paraMaxPriceFilter", maxPriceFilter);

            //Step 3 -  Create a DataSet to store the data to be retrieved
            DataSet ds = new DataSet();

            //Step 4 -  Use the DataAdapter to fill the DataSet with data retrieved
            da.Fill(ds);

            //Step 5 -  Read data from DataSet to List
            List <HotelBook> empList = new List <HotelBook>();
            int rec_cnt = ds.Tables[0].Rows.Count;

            for (int i = 0; i < rec_cnt; i++)
            {
                DataRow row           = ds.Tables[0].Rows[i]; // Sql command returns only one record
                int     hotelId       = Convert.ToInt32(row["hotelId"]);
                decimal hotelPrice    = Convert.ToDecimal(row["hotelPrice"]);
                string  hotelImage    = row["hotelImage"].ToString();
                bool    centralFilter = Convert.ToBoolean(row["centralFilter"]);
                bool    northFilter   = Convert.ToBoolean(row["northFilter"]);
                bool    southFilter   = Convert.ToBoolean(row["southFilter"]);
                bool    westFilter    = Convert.ToBoolean(row["westFilter"]);
                bool    eastFilter    = Convert.ToBoolean(row["eastFilter"]);
                string  hotelName     = row["hotelName"].ToString();


                HotelBook obj = new HotelBook(hotelId, hotelPrice, hotelImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName);
                empList.Add(obj);
            }

            return(empList);
        }
示例#11
0
        private void filterRepeater()
        {
            string checkMinPrice = minpriceTB.Text;

            string checkMaxPrice = maxPriceTB.Text;

            if (checkMinPrice == "" || checkMaxPrice == "")
            {
            }
            else
            {
                int getMinPrice = Convert.ToInt32(minpriceTB.Text);

                int getMaxPrice = Convert.ToInt32(maxPriceTB.Text);

                HotelBook hotel = new HotelBook(getMinPrice, getMaxPrice);
                hotelList = hotel.getHotelsByPrice();

                RepeatHotel.DataSource = hotelList;
                RepeatHotel.DataBind();
            }
        }
示例#12
0
 void IHotelBookRepository.BookHotel(HotelBook reservation)
 {
     (modelStream as IHotelBookModelStream).CreateBookHotel(reservation);
 }
示例#13
0
 /// <summary>
 /// Initializes a new instance of <see cref="HotelBookDTO"/>, with an existing <see cref="Domain.Models.HotelBook"/>.
 /// </summary>
 /// <param name="hotelBook">The <see cref="Domain.Models.HotelBook"/> to be assigned.</param>
 public HotelBookDTO(HotelBook hotelBook)
 {
     HotelBook = hotelBook;
 }
示例#14
0
        protected void RepeatHotel_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            RepeaterItem hotels = e.Item;



            if (Session["tourist_id"] == null && Session["tourguide_id"] == null)
            {
                Response.Redirect("Login.aspx");
            }

            else
            {
                try
                {
                    Label1.Text = Session["tourist_id"].ToString();
                }
                catch (NullReferenceException)
                {
                    Label1.Text = Session["tourguide_id"].ToString();
                }
            }



            string   attName;
            string   attDesc = "Item price cost consists of base price of hotel with the check in duration";
            double   price;
            DateTime expDate;
            int      code;
            int      user_id = Convert.ToInt32(Session["tourist_id"]);
            int      quantity;
            decimal  totalCost;

            HiddenField getHotelId = (HiddenField)hotels.FindControl("hotelId");

            Session["voucher_id"] = getHotelId.Value;
            int giveHotelId = Convert.ToInt32(getHotelId.Value);



            Label gethotelPrice = (Label)hotels.FindControl("hotelPrice");

            Session["hotelPrice"] = gethotelPrice.Text;
            price = Convert.ToDouble(gethotelPrice.Text);


            DateTime date     = DateTime.Now;
            TimeSpan duration = new TimeSpan(30, 0, 0, 0);

            expDate = date.Add(duration);

            int hotelId = new Random().Next(100000, 999999);

            code = new Random().Next(100000, 999999);

            DropDownList hotelQty = (DropDownList)hotels.FindControl("roomQty");

            Session["roomQty"] = hotelQty.SelectedValue;
            quantity           = Convert.ToInt32(hotelQty.SelectedValue);



            //DateTime checkInDateTime = Convert.ToDateTime(checkInTB);
            //DateTime checkOutDateTime = Convert.ToDateTime(checkOutTB);


            //TimeSpan difference = checkInDateTime - checkOutDateTime;

            //int stayDuration = Convert.ToInt32(difference.TotalDays);
            DropDownList getHotelDuration = (DropDownList)hotels.FindControl("durationQty");

            Session["durationQty"] = getHotelDuration.SelectedValue;
            int      stayDuration = Convert.ToInt32(getHotelDuration.SelectedValue);
            DateTime dateToday    = Convert.ToDateTime(DateTime.Today);
            DateTime expiryDate   = dateToday.AddDays(stayDuration);

            totalCost = Convert.ToDecimal(price * quantity * stayDuration);


            String hotelPaid = "Not paid";
            //Ticket tkt = new Ticket(attName, attDesc, price, expDate, code, "not paid", user_id);
            //tkt.AddNewTicket();

            Label getHotelName = (Label)hotels.FindControl("hotelName");

            Session["hotelName"] = getHotelName.Text;
            string attDuration = stayDuration.ToString();

            attName = getHotelName.Text + " (" + attDuration + " Days" + ")";

            double cartPrice = Convert.ToDouble(price) * Convert.ToDouble(stayDuration);

            HotelBook td = new HotelBook();

            td = td.getHotelById(giveHotelId);

            string getImage = td.hotelImage;

            //System.Web.UI.WebControls.Image hotelImage = (System.Web.UI.WebControls.Image)hotels.FindControl("hotelImage");
            DateTime reservedate = DateTime.Now;
            //string imageurl = hotelImage.ToString();

            Cart cart = new Cart(attName, attDesc, cartPrice, quantity, user_id, getImage);

            cart.InsertHotel();


            Cart newCart = new Cart();

            newCart = newCart.GetCartId(attName, user_id);

            HotelTrans hotel = new HotelTrans(hotelId, totalCost, quantity, expiryDate, user_id, attName, code, hotelPaid, newCart.productId, reservedate);

            hotel.AddNewHotel();


            string hotelAdded = getHotelName.Text + " " + "(rooms: " + quantity.ToString() + ")" + "(duration: " + stayDuration.ToString() + "days" + ")" + "has been added to shop Cart";

            Session["hotelAdded"] = hotelAdded;

            Response.Redirect("HotelPage.aspx");
            return;
        }
        protected void BtnAdd_Click(object sender, EventArgs e)
        {
            decimal hotelPrice = 0;
            //string hotelImage = "Images/" + FileUpload1.FileName;

            string attImage = LbImage.Text;
            bool   centralFilter;
            bool   northFilter;
            bool   southFilter;
            bool   westFilter;
            bool   eastFilter;
            string hotelName = TbName.Text;

            if (regionSelect.SelectedItem.Value == "Central")
            {
                if (TbName.Text != "" && TbPrice.Text != "0" && regionSelect.SelectedItem.Value != "Region")
                {
                    hotelPrice    = Convert.ToDecimal(TbPrice.Text);
                    northFilter   = false;
                    centralFilter = true;
                    southFilter   = false;
                    westFilter    = false;
                    eastFilter    = false;

                    HotelBook addHotel = new HotelBook(hotelPrice, attImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName);
                    addHotel.addHotel(addHotel);
                    Response.Redirect("AdminPageHotel.aspx");
                }
            }
            if (regionSelect.SelectedItem.Value == "North")
            {
                if (TbName.Text != "" && TbPrice.Text != "0" && regionSelect.SelectedItem.Value != "Region")
                {
                    hotelPrice    = Convert.ToDecimal(TbPrice.Text);
                    northFilter   = true;
                    centralFilter = false;
                    southFilter   = false;
                    westFilter    = false;
                    eastFilter    = false;

                    HotelBook addHotel = new HotelBook(hotelPrice, attImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName);
                    addHotel.addHotel(addHotel);
                    Response.Redirect("AdminPageHotel.aspx");
                }
            }
            if (regionSelect.SelectedItem.Value == "South")
            {
                if (TbName.Text != "" && TbPrice.Text != "0" && regionSelect.SelectedItem.Value != "Region")
                {
                    hotelPrice = Convert.ToDecimal(TbPrice.Text);

                    southFilter   = true;
                    northFilter   = false;
                    centralFilter = false;
                    westFilter    = false;
                    eastFilter    = false;

                    HotelBook addHotel = new HotelBook(hotelPrice, attImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName);
                    addHotel.addHotel(addHotel);
                    Response.Redirect("AdminPageHotel.aspx");
                }
            }
            if (regionSelect.SelectedItem.Value == "West")
            {
                if (TbName.Text != "" && TbPrice.Text != "0" && regionSelect.SelectedItem.Value != "Region")
                {
                    hotelPrice = Convert.ToDecimal(TbPrice.Text);

                    westFilter    = true;
                    southFilter   = false;
                    northFilter   = false;
                    centralFilter = false;
                    eastFilter    = false;

                    HotelBook addHotel = new HotelBook(hotelPrice, attImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName);
                    addHotel.addHotel(addHotel);
                    Response.Redirect("AdminPageHotel.aspx");
                }
            }
            if (regionSelect.SelectedItem.Value == "East")
            {
                if (TbName.Text != "" && TbPrice.Text != "0" && regionSelect.SelectedItem.Value != "Region")
                {
                    hotelPrice = Convert.ToDecimal(TbPrice.Text);

                    eastFilter    = true;
                    westFilter    = false;
                    southFilter   = false;
                    northFilter   = false;
                    centralFilter = false;

                    HotelBook addHotel = new HotelBook(hotelPrice, attImage, centralFilter, northFilter, southFilter, westFilter, eastFilter, hotelName);
                    addHotel.addHotel(addHotel);
                    Response.Redirect("AdminPageHotel.aspx");
                }
            }

            else
            {
                if (TbName.Text != "")
                {
                    LblMsgName.Visible = false;
                    LblMsgName.Text    = "";
                }

                if (TbPrice.Text != "0")
                {
                    LblMsgPrice.Visible = false;
                    LblMsgPrice.Text    = "";
                }

                if (regionSelect.SelectedItem.Value != "Region")
                {
                    LblMsgRegion.Visible = false;
                    LblMsgRegion.Text    = "";
                }

                if (TbName.Text == "")
                {
                    LblMsgName.Visible   = true;
                    LblMsgName.ForeColor = Color.Red;
                    LblMsgName.Text      = "Hotel Name cannot be empty" + Environment.NewLine;
                }

                if (TbPrice.Text == "0")
                {
                    LblMsgPrice.Visible   = true;
                    LblMsgPrice.ForeColor = Color.Red;
                    LblMsgPrice.Text      = "Hotel Price cannot be 0" + Environment.NewLine;
                }

                if (regionSelect.SelectedItem.Value == "Region")
                {
                    LblMsgRegion.Visible   = true;
                    LblMsgRegion.ForeColor = Color.Red;
                    LblMsgRegion.Text      = "Please select a region" + Environment.NewLine;
                }
            }
        }