示例#1
0
        private Boolean ValidateBooking()
        {
            errP.Clear();
            Boolean         ok = true;
            CustomerBooking cB = new CustomerBooking();

            try
            {
                cB.AccommodationType = cbbAccommodationType.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbAccommodationType, ex.Message);
            }
            try
            {
                cB.NoOfPeople = cbbNumberOfPeople.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbNumberOfPeople, ex.Message);
            }
            try
            {
                cB.ArrivalDate = dtpArrivalDate.Value.Date;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(dtpArrivalDate, ex.Message);
            }
            try //dtpArrivalDate.Value.AddDays(Convert.ToDouble(cbbNumberOfNights.Text));
            {
                cB.NoOfNights = cbbNumberOfNights.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbNumberOfNights, ex.Message);
            }

            return(ok);
        }
示例#2
0
        private void btnSearch_Click(object sender, EventArgs e)
        {
            errP.Clear();
            Boolean         ok = true;
            CustomerBooking cB = new CustomerBooking();

            try
            {
                cB.AccommodationType = cbbAccommodationType.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbAccommodationType, ex.Message);
            }
            try
            {
                cB.NoOfPeople = cbbNumberOfPeople.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbNumberOfPeople, ex.Message);
            }
            try
            {
                cB.ArrivalDate = dtpArrivalDate.Value.Date;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(dtpArrivalDate, ex.Message);
            }
            try //dtpArrivalDate.Value.AddDays(Convert.ToDouble(cbbNumberOfNights.Text));
            {
                cB.NoOfNights = cbbNumberOfNights.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbNumberOfNights, ex.Message);
            }

            if (ok)
            {
                using (SqlConnection c = new SqlConnection(cnstr))
                {
                    //Delcare Variables
                    string   accommodationType, numberOfPeople, accommodationTypeID, seaView, disabledAccess;
                    DateTime newDate;

                    //Set Current Need variables
                    seaView        = (cbxSeaView.CheckState == CheckState.Checked ? 1 : 0).ToString();
                    disabledAccess = (cbxDisabledAccess.CheckState == CheckState.Checked ? 1 : 0).ToString();

                    //Create Class later for this!!!!!!!!!!!!
                    if (IsOdd(int.Parse(cbbNumberOfPeople.Text)))
                    {
                        if (int.Parse(cbbNumberOfPeople.Text) < 10)
                        {
                            numberOfPeople = "0" + (int.Parse(cbbNumberOfPeople.Text) + 1).ToString();
                        }
                        else
                        {
                            numberOfPeople = (int.Parse(cbbNumberOfPeople.Text) + 1).ToString();
                        }
                    }
                    else
                    {
                        if (int.Parse(cbbNumberOfPeople.Text) < 10)
                        {
                            numberOfPeople = "0" + cbbNumberOfPeople.Text;
                        }
                        else
                        {
                            numberOfPeople = cbbNumberOfPeople.Text;
                        }
                    }
                    accommodationType = cbbAccommodationType.Text.Substring(0, 1);

                    accommodationTypeID = accommodationType + numberOfPeople;



                    c.Open();

                    if (cbbNumberOfNights.Text == "Indefinite")
                    {
                        newDate = dtpArrivalDate.Value.Date.AddMonths(1);
                    }
                    else
                    {
                        newDate = dtpArrivalDate.Value.Date.AddDays(Convert.ToDouble(cbbNumberOfNights.Text));
                    }
                    //MessageBox.Show(newDate.ToString("yyyyMMdd"));

                    // use a SqlAdapter to execute the query
                    using (SqlDataAdapter a = new SqlDataAdapter("SELECT * FROM Location, Accommodation, AccommodationType WHERE (Accommodation.Accommodation_Type LIKE'%" + accommodationTypeID + "%' AND AccommodationType.Accommodation_Type LIKE'%" + accommodationTypeID + "%') AND (Accommodation.AccommodationID = Location.AccommodationID) AND Location.LocationID NOT IN (SELECT LocationID FROM dbo.CustomerBooking WHERE '" + dtpArrivalDate.Value.Date.ToString("yyyyMMdd") + "' BETWEEN [Arrival_Date] AND [Departure_Date] OR '" + newDate.ToString("yyyyMMdd") + "' BETWEEN [Arrival_Date] AND [Departure_Date]) AND Location.Sea_View = '" + seaView + "' AND Location.Disabled_Access = '" + disabledAccess + "'", c))
                    {
                        // fill a data table
                        var t = new DataTable();
                        a.Fill(t);

                        // Bind the table to the list box
                        lbxAccommodation_Type.DisplayMember = "Accommodation_Desc"; //"Accommodation_Desc";
                        lbxAccommodation_Type.ValueMember   = "LocationID";         //"Accommodation_Type";
                        lbxAccommodation_Type.DataSource    = t;
                    }

                    //Stop user from making chances to original booking details
                    cbbAccommodationType.Enabled  = false;
                    cbbNumberOfPeople.Enabled     = false;
                    dtpArrivalDate.Enabled        = false;
                    cbbNumberOfNights.Enabled     = false;
                    btnSearch.Enabled             = false;
                    lbxAccommodation_Type.Enabled = true;
                    btnFilter.Enabled             = true;
                    cbxElectric.Enabled           = true;
                    cbxWater.Enabled          = true;
                    cbxSeaView.Enabled        = false;
                    cbxDisabledAccess.Enabled = false;
                    btnNext.Enabled           = true;
                }
            }
        }
示例#3
0
        private void btnAddBooking_Click(object sender, EventArgs e)
        {
            errP.Clear();
            Boolean ok = true;

            //Inprogress

            CustomerBooking cB = new CustomerBooking();

            try
            {
                cB.CustomerID = int.Parse(lbxCustomer.SelectedValue.ToString());
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(lbxCustomer, ex.Message);
            }
            try
            {
                drLocation    = dsNorthCoast.Tables["Location"].Rows.Find(lbxAccommodation_Type.SelectedValue);
                cB.LocationID = drLocation["LocationID"].ToString();
            }
            catch (Exception ex)
            {
                ok = false;
                if (ex is NullReferenceException)
                {
                    //spits out the errors if there are any
                    MessageBox.Show("Accommodation has not been selected");
                }
                else if (ex is CustomerException)
                {
                    errP.SetError(lbxAccommodation_Type, ex.Message);
                }
            }
            try
            {
                cB.ArrivalDate = dtpArrivalDate.Value.Date;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(dtpArrivalDate, ex.Message);
            }
            try //dtpArrivalDate.Value.AddDays(Convert.ToDouble(cbbNumberOfNights.Text));
            {
                cB.NoOfNights = cbbNumberOfNights.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbNumberOfNights, ex.Message);
            }
            try
            {
                cB.NoOfPeople = cbbNumberOfPeople.Text;
            }
            catch (CustomerException ex)
            {
                ok = false;
                errP.SetError(cbbNumberOfPeople, ex.Message);
            }


            if (ok)
            {
                try
                {
                    drCustomerBooking = dsNorthCoast.Tables["CustomerBooking"].NewRow();
                    drCustomer        = dsNorthCoast.Tables["Customer"].Rows.Find(lbxCustomer.SelectedValue);

                    drCustomerBooking["CustomerID"] = drCustomer["CustomerID"].ToString();

                    drLocation = dsNorthCoast.Tables["Location"].Rows.Find(lbxAccommodation_Type.SelectedValue);
                    drCustomerBooking["LocationID"] = drLocation["LocationID"].ToString();

                    drCustomerBooking["Arrival_Date"] = dtpArrivalDate.Value.Date.ToString();
                    if (cbbNumberOfNights.Text == "Indefinite")
                    {
                        drCustomerBooking["Departure_Date"] = dtpArrivalDate.Value.AddMonths(1);
                    }
                    else
                    {
                        drCustomerBooking["Departure_Date"] = dtpArrivalDate.Value.Date.AddDays(Convert.ToDouble(cbbNumberOfNights.Text)).ToString();
                    }

                    drCustomerBooking["Date_Of_Booking"]  = DateTime.Now.ToString(); //DateTime.Now.ToString("yyyyMMdd");
                    drCustomerBooking["Deposit_Paid"]     = 1;
                    drCustomerBooking["Number_Of_People"] = cbbNumberOfPeople.Text;
                    drCustomerBooking["Electric"]         = cbxElectric.CheckState == CheckState.Checked ? 1 : 0;
                    drCustomerBooking["Water"]            = cbxWater.CheckState == CheckState.Checked ? 1 : 0;
                    drCustomerBooking["Checked_In"]       = 0;
                    drCustomerBooking["Checked_Out"]      = 0;
                    drCustomerBooking["Booking_Paid"]     = 0;

                    dsNorthCoast.Tables["CustomerBooking"].Rows.Add(drCustomerBooking);
                    daCustomerBooking.Update(dsNorthCoast, "CustomerBooking");

                    MessageBox.Show("Customer Booking Added");
                    btnBackToBooking.Enabled     = false;
                    btnAddBooking.Enabled        = false;
                    btnAddAnotherBooking.Enabled = true;
                }
                catch (SqlException sqlEx)
                {
                    MessageBox.Show(sqlEx.Message);
                }
            }
        }