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); }
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); }
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); }
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); }
public HotelDetail addHotelDetails(HotelDetail hotel) { return null; }
public decimal Rate(HotelDetail rating) { decimal overallRating = 0; overallRating = (rating.cleanliness + rating.location + rating.room + rating.service + rating.value) / 5; return overallRating; }