Exemplo n.º 1
0
        private void loadHomePage()
        {
            #region Redirect
            //rediret to product page or stylist profile with product id
            //check if a redirect has been requested
            String goTo = Request.QueryString["Goto"];
            if (goTo != null)
            {
                features = null;
                try
                {
                    //get the home page featurs
                    features = handler.GetHomePageFeatures();
                }
                catch (Exception err)
                {
                    function.logAnError("unable to load featurd items from the DB on default.aspx for redirect: " +
                                        err);
                }

                if (goTo == "Prod1")
                {
                    if (features == null)
                    {
                        Response.Redirect("/Cheveux/Products.aspx");
                    }
                    else
                    {
                        Response.Redirect("/Cheveux/Products.aspx?ProductID=" + features[0].ItemID.ToString());
                    }
                }
                else if (goTo == "Prod2")
                {
                    if (features == null)
                    {
                        Response.Redirect("/Cheveux/Products.aspx");
                    }
                    else
                    {
                        Response.Redirect("/Cheveux/Products.aspx?ProductID=" + features[1].ItemID.ToString());
                    }
                }
                else if (goTo == "Prod3")
                {
                    if (features == null)
                    {
                        Response.Redirect("/Cheveux/Products.aspx");
                    }
                    else
                    {
                        Response.Redirect("/Cheveux/Products.aspx?ProductID=" + features[2].ItemID.ToString());
                    }
                }
                else if (goTo == "Sty1")
                {
                    if (features == null)
                    {
                        Response.Redirect("/Cheveux/Stylists.aspx");
                    }
                    else
                    {
                        Response.Redirect("Profile.aspx?Action=View&empID=" + features[7].ItemID.ToString());
                    }
                }
                else if (goTo == "Sty2")
                {
                    if (features == null)
                    {
                        Response.Redirect("/Cheveux/Stylists.aspx");
                    }
                    else
                    {
                        Response.Redirect("Profile.aspx?Action=View&empID=" + features[8].ItemID.ToString());
                    }
                }
                else if (goTo == "Sty3")
                {
                    if (features == null)
                    {
                        Response.Redirect("/Cheveux/Stylists.aspx");
                    }
                    else
                    {
                        Response.Redirect("Profile.aspx?Action=View&empID=" + features[9].ItemID.ToString());
                    }
                }
                else if (goTo == "Phone")
                {
                    if (features == null)
                    {
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "OpenWindow", "window.open('Error.aspx','_newtab');", true);
                        Response.Redirect("Error.aspx");
                    }
                    else
                    {
                        Response.Redirect("tel:" + features[10].contactNo.ToString());
                    }
                }
                else if (goTo == "Email")
                {
                    if (features == null)
                    {
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "OpenWindow", "window.open('Error.aspx','_newtab');", true);
                        Response.Redirect("Error.aspx");
                    }
                    else
                    {
                        Response.Redirect("mailto:" + features[11].email.ToString());
                    }
                }
            }

            #endregion

            #region access control
            HttpCookie UserID = Request.Cookies["CheveuxUserID"];
            //send the user to the correct page based on their usertype
            if (UserID != null)
            {
                string userType = UserID["UT"].ToString();
                if ("R" == userType)
                {
                    //Receptionist
                    Response.Redirect("/Receptionist/Receptionist.aspx");
                }
                else if (userType == "M")
                {
                    //Manager
                    Response.Redirect("/Manager/Dashboard.aspx");
                }
                else if (userType == "S")
                {
                    //stylist
                    Response.Redirect("/Stylist/Stylist.aspx");
                }
                else if (userType == "C")
                {
                    //customer
                    //allowed access to this page
                    //Response.Redirect("Default.aspx");
                }
                else
                {
                    function.logAnError("Unknown user type found during Loading of default.aspx: " +
                                        UserID["UT"].ToString());
                }
            }
            #endregion

            #region Home Page Info
            //load home page info
            #region Welcom Back
            //welcome back existing users
            string name = Request.QueryString["WB"];
            if (name != null)
            {
                Welcome.Text = "Welcome Back To Cheveux " + name;
            }
            else
            {
                //welcome new customers
                name = Request.QueryString["NU"];
                if (name != null)
                {
                    Welcome.Text = "Congratulations " + name
                                   + "  You Are Now Registered With Cheveux";
                }
            }
            #endregion

            #region booking Confirimation
            //confirm booking
            string   stylistID = Request.QueryString["Sty"];
            string   Date      = Request.QueryString["D"];
            string   slotNo    = Request.QueryString["T"];
            DateTime Time      = Convert.ToDateTime("2001/01/01");

            try
            {
                if (stylistID != null &&
                    Date != null &&
                    slotNo != null)
                {
                    List <SP_GetSlotTimes> TSL = handler.BLL_GetAllTimeSlots();
                    foreach (SP_GetSlotTimes TS in TSL)
                    {
                        if (TS.SlotNo.Replace(" ", string.Empty) == slotNo.Replace(" ", string.Empty))
                        {
                            Time = TS.Time;
                        }
                    }
                    Welcome.Text = "You are now booked to see "
                                   + handler.viewEmployee(stylistID.Replace(" ", string.Empty)).firstName
                                   + " at " + Time.ToString("HH:mm")
                                   + " on the " + Convert.ToDateTime(Date).ToString("dd MMM yyyy");
                }
            }
            catch (Exception err)
            {
                function.logAnError("unable to load booking confirmaton on default.aspx." +
                                    "stylist ID : " + stylistID +
                                    " | Date : " + Date +
                                    " | Slot No. : " + slotNo +
                                    " | Time : " + Time +
                                    " | CustID : " + UserID["ID"].ToString() +
                                    " | Error : " + err);
            }
            #endregion

            #region Home Page Features
            features = null;
            try
            {
                //get the home page featurs
                features = handler.GetHomePageFeatures();
            }
            catch (Exception err)
            {
                function.logAnError("unable to load featurd items from the DB on default.aspx: " +
                                    err);
            }

            #region Featured hairstyles
            try
            {
                LService1Header.Text = "<a class='btn btn-light' href='cheveux/services.aspx?ProductID=" +
                                       features[3].ItemID.ToString()
                                       + "'>" + features[3].Name.ToString() + "</a></font>";
                LService1Description.Text = features[3].description.ToString()
                                            + " from R" + features[3].price.ToString();

                LService2Header.Text = "<a class='btn btn-light' href='cheveux/services.aspx?ProductID=" +
                                       features[4].ItemID.ToString()
                                       + "'>" + features[4].Name.ToString() + "</a></font>";
                LService2Description.Text = features[4].description.ToString()
                                            + " from R" + features[4].price.ToString();

                LService3Header.Text = "<a class='btn btn-light' href='cheveux/services.aspx?ProductID=" +
                                       features[5].ItemID.ToString()
                                       + "'>" + features[5].Name.ToString() + "</a></font>";
                LService3Description.Text = features[5].description.ToString()
                                            + " from R" + features[5].price.ToString();

                LService4Header.Text = "<a class='btn btn-light' href='cheveux/services.aspx?ProductID=" +
                                       features[6].ItemID.ToString()
                                       + "'>" + features[6].Name.ToString() + "</a>";
                LService4Description.Text = features[6].description.ToString()
                                            + " from R" + features[6].price.ToString();
            }
            catch (Exception err)
            {
                function.logAnError("unable to display featured hairstyls on default.aspx: " +
                                    err);
            }
            #endregion

            #region Featured Products
            //Load Products
            try
            {
                phProductImage1.Controls.Add(new LiteralControl
                                                 ("<img width='650' height='650' src='http://sict-iis.nmmu.ac.za/beauxdebut/Theam/img/" + features[0].ItemID + ".jpg'/>"));
                lProductHeader1.Text      = features[0].Name.ToString();
                LProductDescription1.Text = features[0].description.ToString()
                                            + " from R" + features[0].price.ToString();

                phProductImage2.Controls.Add(new LiteralControl
                                                 ("<img width='650' height='650' src='http://sict-iis.nmmu.ac.za/beauxdebut/Theam/img/" + features[1].ItemID + ".jpg'/>"));
                lProductHeader2.Text      = features[1].Name.ToString();
                LProductDescription2.Text = features[1].description.ToString()
                                            + " from R" + features[1].price.ToString();

                phProductImage3.Controls.Add(new LiteralControl
                                                 ("<img width='650' height='650' src='http://sict-iis.nmmu.ac.za/beauxdebut/Theam/img/" + features[2].ItemID + ".jpg'/>"));
                lProductHeader3.Text      = features[2].Name.ToString();
                LProductDescription3.Text = features[2].description.ToString()
                                            + " from R" + features[2].price.ToString();
            }
            catch (Exception err)
            {
                function.logAnError("unable to display featured products on default.aspx: " +
                                    err);
            }
            #endregion

            #region Featured Stylists
            //Load Products
            try
            {
                phStylistImage1.Controls.Add(new LiteralControl
                                                 ("<img width='650' height='650' src='http://sict-iis.nmmu.ac.za/beauxdebut/Theam/img/" + features[4].ItemID + ".jpg'/>"));
                lStylistHeader1.Text      = features[7].firstName.ToString();
                lStylistDescription1.Text = "Specializes in "
                                            + handler.viewStylistSpecialisationAndBio(features[7].ItemID.ToString()).serviceName;

                phStylistImage2.Controls.Add(new LiteralControl
                                                 ("<img width='650' height='650' src='http://sict-iis.nmmu.ac.za/beauxdebut/Theam/img/" + features[8].ItemID + ".jpg'/>"));
                lStylistHeader2.Text      = features[8].firstName.ToString();
                lStylistDescription2.Text = "Specializes in "
                                            + handler.viewStylistSpecialisationAndBio(features[8].ItemID.ToString()).serviceName;

                phStylistImage3.Controls.Add(new LiteralControl
                                                 ("<img width='650' height='650' src='http://sict-iis.nmmu.ac.za/beauxdebut/Theam/img/" + features[9].ItemID + ".jpg'/>"));
                lStylistHeader3.Text      = features[9].firstName.ToString();
                lStylistDescription3.Text = "Specializes in "
                                            + handler.viewStylistSpecialisationAndBio(features[9].ItemID.ToString()).serviceName;
            }
            catch (Exception err)
            {
                function.logAnError("unable to display featured stylist on default.aspx: " +
                                    err);
            }
            #endregion

            #region Operating Hours
            try
            {
                //get the operating hourse from the db
                BUSINESS operatingHours = handler.getBusinessTable();
                //display the opperating hours

                //add hours - weekday
                lWeekdaye.Text = operatingHours.WeekdayStart.ToString("HH:mm") + " - " + operatingHours.WeekdayEnd.ToString("HH:mm");

                //add hours - weekend
                lWeekend.Text = operatingHours.WeekendStart.ToString("HH:mm") + " - " + operatingHours.WeekendEnd.ToString("HH:mm");

                //add hours - public holiday
                lPublicHol.Text = operatingHours.PublicHolStart.ToString("HH:mm") + " - " + operatingHours.PublicHolEnd.ToString("HH:mm");
            }
            catch (Exception err)
            {
                function.logAnError("unable to load operating hours on default.aspx: " +
                                    err);
            }
            #endregion
            #endregion
            #endregion
        }