Ejemplo n.º 1
0
        public void TestShouldCalculateAverageRating()
        {
            HotelDetail initialRatings = new HotelDetail();
            initialRatings.numReviews = 2;
            initialRatings.cleanliness = 4;
            initialRatings.location = 4;
            initialRatings.room = 4;
            initialRatings.service = 4;
            initialRatings.value = 4;

            HotelDetail rating = new HotelDetail();
            rating.cleanliness = 1;
            rating.location = 1;
            rating.room = 1;
            rating.service = 1;
            rating.value = 1;
            rating.overallRating = logic.Rate(rating);

            HotelDetail newOverallRating = logic.CalculateAverages(initialRatings, rating);

            Assert.AreEqual(newOverallRating.numReviews, 3);
            Assert.AreEqual(newOverallRating.cleanliness, 3);
            Assert.AreEqual(newOverallRating.location, 3);
               Assert.AreEqual(newOverallRating.room, 3);
            Assert.AreEqual(newOverallRating.service, 3);
            Assert.AreEqual(newOverallRating.value, 3);
            Assert.AreEqual(newOverallRating.overallRating, 3);
        }
        public ActionResult Create(HotelDetail hoteldetail)
        {
            if (ModelState.IsValid)
            {
                db.HotelDetails.Add(hoteldetail);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(hoteldetail);
        }
Ejemplo n.º 3
0
        public void TestShouldCreateRating()
        {
            HotelDetail rating = new HotelDetail();
            rating.cleanliness = 4;
            rating.location = 4;
            rating.room = 4;
            rating.service = 4;
            rating.value = 4;

            decimal overallRating = logic.Rate(rating);

            Assert.IsTrue(overallRating == 4);
        }
        public ActionResult Create(HotelDetail hoteldetail, int HotelId)
        {
            if (ModelState.IsValid)
            {
                hoteldetail.ID = HotelId;

                HotelDetail currentRating = db.HotelDetails.First(
                    h => h.ID == HotelId);

                currentRating = logic.CalculateAverages(currentRating, hoteldetail);
                db.SaveChanges();

                return RedirectToAction("Details", new { id = currentRating.ID });
            }

            return View(hoteldetail);
        }
Ejemplo n.º 5
0
        public HotelDetail CalculateAverages(HotelDetail initialRatings, HotelDetail rating)
        {
            var initial_num_reviews = initialRatings.numReviews;
            initialRatings.numReviews += 1;

            initialRatings.cleanliness = (((initialRatings.cleanliness) * initial_num_reviews) +
                rating.cleanliness) / initialRatings.numReviews;
            initialRatings.location = (((initialRatings.location) * initial_num_reviews) +
                rating.location) / initialRatings.numReviews;
            initialRatings.room = (((initialRatings.room) * initial_num_reviews) +
                rating.room) / initialRatings.numReviews;
            initialRatings.service = (((initialRatings.service) * initial_num_reviews) +
                rating.service) / initialRatings.numReviews;
            initialRatings.value = (((initialRatings.value) * initial_num_reviews) +
                rating.value) / initialRatings.numReviews;
            initialRatings.overallRating = Rate(initialRatings);

            return initialRatings;
        }
        public void parseHotelDetailsTest()
        {
            //StreamReader reader = new StreamReader("c:\\EnterpriseProject\\Data\\london.csv", true);
            StreamReader reader = new StreamReader("C:\\Users\\STEVE\\Documents\\GitHub\\EnterpriseProject\\Data\\london.csv", true);

            IDataParser target = new londoncsvparser();
            target.setStreamSource(reader);
            HotelDetail h = new HotelDetail();

            List<HotelDetail> expected = new List<HotelDetail>();
            expected.Add(h);

            List<HotelDetail> actual;
            actual = target.parseHotelDetails();
            Assert.AreEqual(expected.Count, actual.Count);

            HotelDetail hotel = actual.Find(item => item.city == "Dublin");

            Assert.IsNotNull(hotel);
        }
Ejemplo n.º 7
0
        public List<Models.HotelDetail> parseHotelDetails()
        {
            Console.WriteLine("Inside the method");
            CsvReader csv = new CsvReader(reader, true);
            int fieldCount = csv.FieldCount;
            List<HotelDetail> hotels = new List<HotelDetail>();

            String[] headers = csv.GetFieldHeaders();

            while (csv.ReadNextRecord())
            {
                //This is where the models come into effect

                HotelDetail thisObj = new HotelDetail();

                //This loop reflects contents of the model. Header captions match actual text in csv file
                for (int i = 0; i < fieldCount; i++)
                {
                    if (headers[i].Equals("doc_id"))
                    {
                        thisObj.docID = csv[i];
                    }
                    else if (headers[i].Equals("hotel_name"))
                    {
                        thisObj.hotelName = csv[i];
                    }
                    else if (headers[i].Equals("hotel_url"))
                    {
                        thisObj.hotelUrl = csv[i];
                    }
                    else if (headers[i].Equals("street"))
                    {
                        thisObj.street = csv[i];
                    }
                    else if (headers[i].Equals("city"))
                    {
                        thisObj.city = csv[i];
                    }
                    else if (headers[i].Equals("state"))
                    {
                        thisObj.state = csv[i];
                    }
                    else if (headers[i].Equals("country"))
                    {
                        thisObj.country = csv[i];
                    }
                    else if (headers[i].Equals("zip"))
                    {
                        thisObj.zip = csv[i];
                    }
                    else if (headers[i].Equals("num_reviews"))
                    {
                        thisObj.numReviews = Convert.ToInt32(csv[i]);
                    }
                    else if (headers[i].Equals("CLEANLINESS"))
                    {
                        thisObj.cleanliness = Convert.ToDecimal(csv[i]);
                    }
                    else if (headers[i].Equals("ROOM"))
                    {
                        thisObj.room = Convert.ToDecimal(csv[i]);
                    }
                    else if (headers[i].Equals("SERVICE"))
                    {
                        thisObj.service = Convert.ToDecimal(csv[i]);
                    }
                    else if (headers[i].Equals("LOCATION"))
                    {
                        thisObj.location = Convert.ToDecimal(csv[i]);
                    }
                    else if (headers[i].Equals("VALUE"))
                    {
                        thisObj.value = Convert.ToDecimal(csv[i]);
                    }
                    else if (headers[i].Equals("overall_ratingsource"))
                    {
                        thisObj.overallRating = Convert.ToDecimal(csv[i]);
                    }
                }
                //Every time around, add a new object
                hotels.Add(thisObj);
            }
            return hotels;
        }
        public List<Models.HotelDetail> parseHotelDetails()
        {
            CsvReader csv = new CsvReader(reader, true);
            int fieldCount = csv.FieldCount;

            //Array storage
            List<HotelDetail> hotels = new List<HotelDetail>();

            String[] headers = csv.GetFieldHeaders();

            while (csv.ReadNextRecord())
            {

                //HotelDetails Model
                HotelDetail thisObj = new HotelDetail();

                //Each field represents a table in the database direct from the CSV file
                for (int i = 0; i < fieldCount; i++)
                {
                    if (headers[i].Equals("doc_id"))
                    {
                        thisObj.docID = csv[i];
                    }
                    else if (headers[i].Equals("hotel_name"))
                    {
                        thisObj.hotelName = csv[i];
                    }
                    else if (headers[i].Equals("hotel_url"))
                    {
                        thisObj.hotelUrl = csv[i];
                    }
                    else if (headers[i].Equals("street"))
                    {
                        thisObj.street = csv[i];
                    }
                    else if (headers[i].Equals("city"))
                    {
                        thisObj.city = csv[i];
                    }
                    else if (headers[i].Equals("state"))
                    {
                        thisObj.state = csv[i];
                    }
                    else if (headers[i].Equals("country"))
                    {
                        thisObj.country = csv[i];
                    }
                    else if (headers[i].Equals("zip"))
                    {
                        thisObj.zip = csv[i];
                    }
                    else if (headers[i].Equals("class"))
                    {
                        thisObj.classRating = csv[i];
                    }
                    else if (headers[i].Equals("price"))
                    {
                        thisObj.price = csv[i];
                    }
                    else if (headers[i].Equals("num_reviews"))
                    {
                        thisObj.numReviews = csv[i];
                    }
                    else if (headers[i].Equals("CLEANLINESS"))
                    {
                        thisObj.cleanliness = csv[i];
                    }
                    else if (headers[i].Equals("ROOM"))
                    {
                        thisObj.room = csv[i];
                    }
                    else if (headers[i].Equals("SERVICE"))
                    {
                        thisObj.service = csv[i];
                    }
                    else if (headers[i].Equals("LOCATION"))
                    {
                        thisObj.location = csv[i];
                    }
                    else if (headers[i].Equals("VALUE"))
                    {
                        thisObj.value = csv[i];
                    }
                    else if (headers[i].Equals("COMFORT"))
                    {
                        thisObj.comfort = csv[i];
                    }
                    else if (headers[i].Equals("overall_ratingsource"))
                    {
                        thisObj.overallRating = csv[i];
                    }
                }
                //Every time around, add a new object
                hotels.Add(thisObj);
            }
            return hotels;
        }
 public ActionResult Edit(HotelDetail hoteldetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(hoteldetail).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(hoteldetail);
 }
Ejemplo n.º 10
0
 public HotelDetail addHotelDetails(HotelDetail hotel)
 {
     return null;
 }
Ejemplo n.º 11
0
 public decimal Rate(HotelDetail rating)
 {
     decimal overallRating = 0;
     overallRating = (rating.cleanliness + rating.location + rating.room + rating.service + rating.value) / 5;
     return overallRating;
 }