コード例 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //if the sessiom is null
        if (Session["attraction"] == null)
        {
            Response.Redirect("AttractionPage.aspx"); //brings back to the attraction page
        }
        else
        {
            //create a new list for attraction
            List <Attraction> attList = new List <Attraction>();
            //retrieve the attraction id from the session and use it to get a attraction from the database
            Attraction att = AttractionDB.getAttractionByID(Session["attraction"].ToString());
            attList.Add(att);                  //add a vehicle to attraction list
            lvAttraction.DataSource = attList; //add the attraction list to a list view data source
            lvAttraction.DataBind();           //bind the data into listview

            //get all feedbacks of a vehicle
            List <Review> rvList = ReviewDB.getAllAttractionReviewByID(Convert.ToInt32(Session["attraction"]));
            attReviews.DataSource = rvList;
            attReviews.DataBind();
            if (rvList.Count == 0)                                            //checking whether there is no feedback available for attraction
            {
                lblOutput.Text = "No feedback available for this attraction"; //show the message
            }
        }
    }
コード例 #2
0
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        gvReviewReportedAttraction.Visible = false;
        gvReviewReportedHotel.Visible      = false;
        gvReviewReportedRestaurant.Visible = false;
        gvReviewH.Visible = false;
        gvReviewA.Visible = false;
        gvReviewR.Visible = false;
        lblDelete.Visible = false;
        pnlEdit.Visible   = false;

        if (ddlSP.SelectedItem.Text == "Attraction Owner")
        {
            gvReviewReportedAttraction.Visible = true;
            gvReviewA.Visible = true;
            //get all the data from feedbackDB by calling the method
            List <Review> revList = ReviewDB.getAllAttractionReportedReviewByName(tbxName.Text);
            gvReviewReportedAttraction.DataSource = revList;
            gvReviewReportedAttraction.DataBind();
            List <Review> rvList = ReviewDB.getAllAttractionReportedReview();

            //get all the data from feedbackDB by calling the method
            List <Review> dvList = ReviewDB.getAllAttractionReviewByName(tbxName.Text);
            gvReviewA.DataSource = dvList;
            gvReviewA.DataBind();
            List <Review> fbNormalList = ReviewDB.getAllAttractionReview();
        }
        else if (ddlSP.SelectedItem.Text == "Hotel Owner")
        {
            gvReviewReportedHotel.Visible = true;
            gvReviewH.Visible             = true;
            //get all the data from feedbackDB by calling the method
            List <Review> revList = ReviewDB.getAllHotelReportedReviewByName(tbxName.Text);
            gvReviewReportedHotel.DataSource = revList;
            gvReviewReportedHotel.DataBind();
            List <Review> rvList = ReviewDB.getAllHotelReportedReviewByName(tbxName.Text);

            //get all the data from feedbackDB by calling the method
            List <Review> dvList = ReviewDB.getAllHotelReviewByName(tbxName.Text);
            gvReviewH.DataSource = dvList;
            gvReviewH.DataBind();
            List <Review> fbNormalList = ReviewDB.getAllHotelReviewByName(tbxName.Text);
        }
        else if (ddlSP.SelectedItem.Text == "Restaurant Owner")
        {
            gvReviewReportedRestaurant.Visible = true;
            gvReviewR.Visible = true;
            //get all the data from feedbackDB by calling the method
            List <Review> revList = ReviewDB.getAllRestaurantReportedReviewByName(tbxName.Text);
            gvReviewReportedRestaurant.DataSource = revList;
            gvReviewReportedRestaurant.DataBind();
            List <Review> rvList = ReviewDB.getAllRestaurantReportedReviewByName(tbxName.Text);

            //get all the data from feedbackDB by calling the method
            List <Review> dvList = ReviewDB.getAllRestaurantReviewByName(tbxName.Text);
            gvReviewR.DataSource = dvList;
            gvReviewR.DataBind();
            List <Review> fbNormalList = ReviewDB.getAllRestaurantReviewByName(tbxName.Text);
        }
    }
    protected void btnGiveFeedback_Click(object sender, EventArgs e)
    {
        //Recording the feedback when user clicked to add feedback
        pnlFeedback.Visible = false;
        //Retrieving the clicked feedback panel
        ItemBooking item   = (ItemBooking)Session["retrieve"];
        Review      review = new Review();

        //Receiving the written comment and rating to add in the database
        review.Date         = DateTime.Now;
        review.Time         = DateTime.Now;
        review.Feedback     = tbxComment.Text;
        review.Rating       = Convert.ToInt32(tbxRatings.Text);
        review.ReportStatus = ddlHotel.SelectedItem.Text;
        review.HotelID      = item.RoomID.Hotel;
        Customer c = (Customer)Session["user"];

        review.CustEmail = c;
        //Adding feedback with method
        int add = ReviewDB.addReviewRoom(review);

        lbladded.Visible = true;
        //Displaying message to inform user
        lbladded.Text = "Feedback submitted successfully! Thanks for your feedback................";
    }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (Session["restaurant"] == null)
         {
             Response.Redirect("HomePage.aspx");
         }
         else
         {
             List <Restaurant> resList = new List <Restaurant>();
             //get a restaurant by using restaurant id store in session
             Restaurant r = RestaurantDB.getRestaurantByID(Session["restaurant"].ToString());
             //add tour guide to the tour guide list
             resList.Add(r);
             //add the list to the list view data source
             lvRestaurant.DataSource = resList;
             lvRestaurant.DataBind();
             //get all the feedback of a tour guide
             List <Review> revList = ReviewDB.getAllRestaurantReviewByID(Convert.ToInt32(Session["restaurant"]));
             //add the feedback list to the grid view data source
             resReviews.DataSource = revList;
             resReviews.DataBind();
             if (revList.Count == 0) //checking whether there is a feedback available for a review
             {
                 lblOutput.Text = "No feedback available for this restaurant";
             }
         }
     }
 }
コード例 #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["HotelID"] != null)
        {
            List <Hotel> hotels = new List <Hotel>();
            //get the hotel from the database using hotel id
            Hotel h = HotelDB.getHotelByID(Session["HotelID"].ToString());
            hotels.Add(h);                       //add the account to the hotel list
            lvAccommodation.DataSource = hotels; //add the hotel list to list view data source
            lvAccommodation.DataBind();          //bind the list view data

            //retrieve all the feedback available for an hotel from the database and store them in a list
            List <Review> rvList = ReviewDB.getAllHotelReviewByID(Convert.ToInt32(Session["HotelID"]));
            AcmReviews.DataSource = rvList; //add the datasource to the grid view
            AcmReviews.DataBind();          // bind the grid view data
            if (rvList.Count == 0)          //checking whether there is a feedback availble for that hotel
            {
                lblOutput.Text = "No feedback available for this hotel";
            }
        }
        else
        {
            Response.Redirect("HomePage.aspx"); //transfer the page to view hotel
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //if user hotel is null
        if (Session["userHotel"] == null)
        {
            Response.Redirect("LoginForm.aspx"); //brings to the loginform page
        }
        lblNoResult.Text    = "";
        lblFeedback.Visible = false;

        if (!IsPostBack)
        {
            //Displaying upcoming and past bookings
            lblCustomer.Visible = false;
            dlCustomer.Visible  = false;
            gvFeedback.Visible  = false;
            lblTitle.Text       = "Upcoming Booking";
            gvHistory.Visible   = false;
            //Getting current signed in user
            Hotel hotel = (Hotel)Session["userHotel"];
            //Getting booked rooms from database and display them
            List <ItemBooking> itemList = ItemBookingDB.getAllRoomItemBooking();
            List <ItemBooking> upcoming = new List <ItemBooking>();
            List <ItemBooking> history  = new List <ItemBooking>();
            foreach (ItemBooking it in itemList)
            {
                //Checking the date to show only the upcoming events
                if (it.RoomID.Hotel.OrgEmail == hotel.OrgEmail)
                {
                    if (it.StartDate > DateTime.Now && it.ItemBookingStatus != "Canceled")
                    {
                        ItemBooking item = it;
                        upcoming.Add(item);
                        gvUpcoming.DataSource = upcoming;
                        gvUpcoming.DataBind();
                        //Keep the list of upcoming bookings in a session for further use
                        Session["upcoming"] = upcoming;
                    }
                    //Displaying the past bookings
                    else
                    {
                        ItemBooking item = it;
                        history.Add(item);
                        gvHistory.DataSource = history;
                        gvHistory.DataBind();
                        //Keep the list of past bookings in a session for further use
                        Session["history"] = history;
                    }
                }
            }
            Hotel acc = (Hotel)Session["userHotel"];
            //Getting feedback from database and display them
            List <Review> feedbackList = ReviewDB.getAllHotelReviewByID(acc.HotelID);
            gvFeedback.DataSource = feedbackList;
            gvFeedback.DataBind();
            Session["Feedback"] = feedbackList;
        }
    }
コード例 #7
0
        internal Review Map(ReviewDB dbReview)
        {
            if (dbReview == null)
                return null;

            var personRev = new PersonRepository();
            var author = personRev.Get(dbReview.AuthorID);
            return new Review() { Id = dbReview.Id, Content = dbReview.Content, Score = dbReview.Score, Author = author, MovieId = dbReview.MovieId };
        }
コード例 #8
0
 private Review Map(ReviewDB dbReview)
 {
     if (dbReview == null)
     {
         return(null);
     }
     return(new Review()
     {
         Id = dbReview.Id, Content = dbReview.Content, Author = Map(dbReview.Author),
         MovieId = dbReview.MovieId, Score = dbReview.Score
     });
 }
コード例 #9
0
        public void SetUp()
        {
            reviewDB  = new ReviewDB(connectionString);
            userLogic = new UserLogic(connectionString);
            userDB    = new UserDB(connectionString);
            productDB = new ProductDB(connectionString);
            user      = userDB.GetUser("email", "*****@*****.**");

            if (user.ID < 1)
            {
                userLogic.CreateUserWithPassword("Rune", "G", "G-Street", 9000, "G-Borg",
                                                 "*****@*****.**", 81238123, "SuperTester123!");
            }
        }
コード例 #10
0
 private Review Map(ReviewDB dbSecond)
 {
     if (dbSecond == null)
     {
         return(null);
     }
     return(new Review()
     {
         Id = dbSecond.Id,
         Content = dbSecond.Content,
         Score = dbSecond.Score,
         Author = dbSecond.Author,
         MovieId = dbSecond.MovieId
     });
 }
コード例 #11
0
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        //to get all the data from feedbackDb by calling methold and search by ID
        Review d = ReviewDB.getReviewByID(lblFeedbackID.Text);

        //get the selected item
        d.ReportStatus = ddlStatus.SelectedItem.Text;
        //to update the feedback by calling method from feedbackDB
        int result = ReviewDB.updateReview(d);

        if (result > 0)
        {
            Page_Load(sender, e);
        }
    }
コード例 #12
0
        public async Task <Result <ReviewView> > UpdateAsync(ReviewToUpdate review, CancellationToken cancellationToken = default)
        {
            ReviewDB reviewForUpdate = _mapper.Map <ReviewDB>(review);
            ReviewDB reviewOld       = await _context.Reviews.AsNoTracking().FirstOrDefaultAsync(_ => _.Id == Guid.Parse(review.Id));

            if (reviewOld is null)
            {
                return(Result <ReviewView> .Quite <ReviewView>(ExceptionConstants.REVIEW_WAS_NOT_FOUND));
            }
            var rating = await _context.Rating.AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            if (rating is null)
            {
                rating = new RatingDB()
                {
                    Count = 0, Sum = 0
                };
                _context.Rating.Add(rating);
            }
            rating.Sum = rating.Sum.Value - reviewOld.Rating + reviewForUpdate.Rating;
            _context.Entry(rating).Property(c => c.Sum).IsModified = true;
            reviewForUpdate.Id = Guid.Parse(review.Id);
            reviewForUpdate.ModificationTime = DateTime.Now;
            _context.Entry(reviewForUpdate).Property(c => c.Headline).IsModified         = true;
            _context.Entry(reviewForUpdate).Property(c => c.Rating).IsModified           = true;
            _context.Entry(reviewForUpdate).Property(c => c.Content).IsModified          = true;
            _context.Entry(reviewForUpdate).Property(c => c.ModificationTime).IsModified = true;

            try
            {
                await _context.SaveChangesAsync();

                var reviewAfterUpdate = await _context.Reviews.Where(_ => _.Id == Guid.Parse(review.Id)).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

                return(reviewAfterUpdate is null
                    ? Result <ReviewView> .Quite <ReviewView>(ExceptionConstants.REVIEW_WAS_NOT_FOUND)
                    : Result <ReviewView> .Ok(_mapper.Map <ReviewView>(reviewAfterUpdate)));
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Result <ReviewView> .Fail <ReviewView>(ExceptionConstants.CANNOT_UPDATE_MODEL + ex.Message));
            }
            catch (DbUpdateException ex)
            {
                return(Result <ReviewView> .Fail <ReviewView>(ExceptionConstants.CANNOT_UPDATE_MODEL + ex.Message));
            }
        }
コード例 #13
0
    protected void gvReviewReportedRestaurant_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        pnlEdit.Visible = true;
        //to get all the data from feedbackDb by calling methold and select the index
        Review d = ReviewDB.getReviewByID(e.CommandArgument.ToString());

        if (d == null)
        {
            lblFeedbackID.Text = "";
            ddlStatus.Text     = "Reported!";
        }
        else
        {
            lblFeedbackID.Text = d.RevID.ToString();
            ddlStatus.Text     = d.ReportStatus.ToString();
        }
    }
コード例 #14
0
 protected void gvReviewR_PageIndexChanging(object sender, GridViewPageEventArgs e)
 {
     gvReviewH.PageIndex = e.NewPageIndex;
     if (tbxName.Text == "")
     {
         //to get all the data from feedbackDB by calling method
         List <Review> dvList = ReviewDB.getAllRestaurantReview();
         gvReviewR.DataSource = dvList;
         gvReviewR.DataBind();
     }
     else
     {
         //to get all the data from feedbackDB by calling method and search by name
         List <Review> revList = ReviewDB.getAllHotelReviewByName(tbxName.Text);
         gvReviewR.DataSource = revList;
         gvReviewR.DataBind();
     }
 }
コード例 #15
0
        private Review Map(ReviewDB reviewDB)
        {
            if (reviewDB == null)
            {
                return(null);
            }
            var    personRepo = new PersonRepository();
            Person person     = personRepo.Get(reviewDB.AuthorId);

            return(new Review()
            {
                Id = reviewDB.Id,
                Content = reviewDB.Content,
                Score = reviewDB.Score,
                Author = person,
                MovieId = reviewDB.MovieId
            });
        }
    protected void gvFeedback_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        //Allowing access to report feedbacks
        lblCustomer.Visible = false;
        dlCustomer.Visible  = false;
        gvFeedback.Visible  = true;
        List <Review> feedbackList = (List <Review>)Session["Feedback"];
        //Calculating selected feedback with paging
        Review feedback = feedbackList[Convert.ToInt32(gvFeedback.PageSize * gvFeedback.PageIndex + e.RowIndex)];

        feedback.RevID        = feedback.RevID.ToString();
        feedback.ReportStatus = "Reported!";
        //updating report status into database
        int update = ReviewDB.updateReview(feedback);

        gvFeedback.EditIndex = -1;
        bindF();
    }
コード例 #17
0
        public async Task <Result <ReviewView> > AddAsync(ReviewToAdd review, string userIdFromIdentity, CancellationToken cancellationToken = default)
        {
            UserDB userDB = await _context.Users.Where(_ => _.IdFromIdentity == userIdFromIdentity).Select(_ => _).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            var reviewToAdd = _mapper.Map <ReviewDB>(review);

            reviewToAdd.UserId  = userDB.Id;
            reviewToAdd.OrderId = Guid.Parse(review.OrderId);
            _context.Reviews.Add(reviewToAdd);
            var rating = await _context.Rating.FirstOrDefaultAsync(cancellationToken);

            if (rating  is null)
            {
                rating = new RatingDB()
                {
                    Count = 0, Sum = 0
                };
                _context.Rating.Add(rating);
            }
            rating.Sum += reviewToAdd.Rating;
            rating.Count++;
            _context.Entry(rating).Property(c => c.Sum).IsModified   = true;
            _context.Entry(rating).Property(c => c.Count).IsModified = true;
            try
            {
                await _context.SaveChangesAsync(cancellationToken);

                ReviewDB reviewAfterAdding = await _context.Reviews.Where(_ => _.Id == reviewToAdd.Id).Select(_ => _).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

                return(Result <ReviewView> .Ok(_mapper.Map <ReviewView>(reviewAfterAdding)));
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Result <ReviewView> .Fail <ReviewView>(ExceptionConstants.CANNOT_SAVE_MODEL + ex.Message));
            }
            catch (DbUpdateException ex)
            {
                return(Result <ReviewView> .Fail <ReviewView>(ExceptionConstants.CANNOT_SAVE_MODEL + ex.Message));
            }
            catch (ArgumentNullException ex)
            {
                return(Result <ReviewView> .Fail <ReviewView>(ExceptionConstants.SOURCE_IS_NULL + ex.Message));
            }
        }
コード例 #18
0
    protected void gvReviewR_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        lblDelete.Visible = true;
        //get the list from FeedbackDB by calling the method and get the session
        List <Review> fbNormalList = ReviewDB.getAllRestaurantReview();

        //to perform paging
        Review fb = fbNormalList[gvReviewR.PageIndex * gvReviewR.PageSize + e.RowIndex];

        pnlEdit.Visible = false;

        //call the delete method from FeedbackDB
        int result = ReviewDB.deleteReview(fb);

        if (result > 0)
        {
            lblDelete.Text       = "Feedback Deleted!";
            gvReviewR.DataSource = ReviewDB.getAllRestaurantReview();
            gvReviewR.DataBind();
        }
    }
コード例 #19
0
    protected void gvReviewReportedAttraction_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        pnlEdit.Visible = false;

        //to perform paging
        gvReviewReportedAttraction.PageIndex = e.NewPageIndex;
        if (tbxName.Text == "")
        {
            //to get all the data from feedbackDB by calling method
            List <Review> revList = ReviewDB.getAllAttractionReportedReview();
            gvReviewReportedAttraction.DataSource = revList;
            gvReviewReportedAttraction.DataBind();
        }
        else
        {
            //to get all the data from feedbackDB by calling method and search by name
            List <Review> revList = ReviewDB.getAllAttractionReportedReviewByName(tbxName.Text);
            gvReviewReportedAttraction.DataSource = revList;
            gvReviewReportedAttraction.DataBind();
        }
    }
    protected void btnGiveFeedback0_Click(object sender, EventArgs e)
    {
        //Recording the feedback when user clicked to add feedback
        pnlFeedback0.Visible = false;
        ItemBooking item   = (ItemBooking)Session["retrieve"];
        Review      review = new Review();

        //Receiving the written comment and rating to add in the database
        review.Feedback     = tbxComment0.Text;
        review.Rating       = Convert.ToInt32(tbxRatings0.Text);
        review.AttractionID = item.TicketID.Attraction;
        review.ReportStatus = ddlTicket.SelectedItem.Text;
        review.Date         = DateTime.Now;
        review.Time         = DateTime.Now;
        Customer c = (Customer)Session["user"];

        review.CustEmail = c;
        //Adding feedback with method
        int add = ReviewDB.addReviewTicket(review);

        lbladded.Visible = true;
        lbladded.Text    = "Feedback submitted successfully! Thanks for your feedback";
    }
コード例 #21
0
 // Constructor used for testing
 public ProductLogic(string connectionString)
 {
     productDB = new ProductDB(connectionString);
     reviewDB  = new ReviewDB(connectionString);
     userDB    = new UserDB(connectionString);
 }
コード例 #22
0
 public ProductLogic()
 {
     productDB = new ProductDB();
     reviewDB  = new ReviewDB();
     userDB    = new UserDB();
 }
コード例 #23
0
 public ProductService()
 {
     productDb    = new ProductDB();
     reviewDB     = new ReviewDB();
     productLogic = new ProductLogic();
 }
コード例 #24
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //if session for admin is null
        if (Session["admin"] == null)
        {
            Response.Redirect("LoginForm.aspx"); //redirect to the loginform page
        }

        gvReviewReportedAttraction.Visible = false;
        gvReviewReportedHotel.Visible      = false;
        gvReviewReportedRestaurant.Visible = false;
        gvReviewH.Visible = false;
        gvReviewA.Visible = false;
        gvReviewR.Visible = false;
        lblDelete.Visible = false;
        pnlEdit.Visible   = false;

        if (ddlSP.SelectedItem.Text == "Attraction Owner") //admin checks the review for attraction owner
        {
            gvReviewReportedAttraction.Visible = true;
            gvReviewA.Visible = true;
            //get all the data from feedbackDB by calling the method
            List <Review> revList = ReviewDB.getAllAttractionReportedReview();
            gvReviewReportedAttraction.DataSource = revList;
            gvReviewReportedAttraction.DataBind();
            List <Review> rvList = ReviewDB.getAllAttractionReportedReview();

            //get all the data from feedbackDB by calling the method
            List <Review> dvList = ReviewDB.getAllAttractionReview();
            gvReviewA.DataSource = dvList;
            gvReviewA.DataBind();
            List <Review> fbNormalList = ReviewDB.getAllAttractionReview();
        }
        else if (ddlSP.SelectedItem.Text == "Hotel Owner") //admin checks the review for hotel owner
        {
            gvReviewReportedHotel.Visible = true;
            gvReviewH.Visible             = true;
            //get all the data from feedbackDB by calling the method
            List <Review> revList = ReviewDB.getAllHotelReportedReview();
            gvReviewReportedHotel.DataSource = revList;
            gvReviewReportedHotel.DataBind();
            List <Review> rvList = ReviewDB.getAllHotelReportedReview();

            //get all the data from feedbackDB by calling the method
            List <Review> dvList = ReviewDB.getAllHotelReview();
            gvReviewH.DataSource = dvList;
            gvReviewH.DataBind();
            List <Review> fbNormalList = ReviewDB.getAllHotelReview();
        }
        else if (ddlSP.SelectedItem.Text == "Restaurant Owner") //admin checks the review for restaurant owner
        {
            gvReviewReportedRestaurant.Visible = true;
            gvReviewR.Visible = true;
            //get all the data from feedbackDB by calling the method
            List <Review> revList = ReviewDB.getAllRestaurantReportedReview();
            gvReviewReportedRestaurant.DataSource = revList;
            gvReviewReportedRestaurant.DataBind();
            List <Review> rvList = ReviewDB.getAllRestaurantReportedReview();

            //get all the data from feedbackDB by calling the method
            List <Review> dvList = ReviewDB.getAllRestaurantReview();
            gvReviewR.DataSource = dvList;
            gvReviewR.DataBind();
            List <Review> fbNormalList = ReviewDB.getAllRestaurantReview();
        }
    }