public async Task <ActionResult <HotelReview> > PostHotelReview(HotelReview hotelReview) { _context.HotelReviews.Add(hotelReview); await _context.SaveChangesAsync(); return(CreatedAtAction("GetHotelReview", new { id = hotelReview.Id }, hotelReview)); }
public async Task <IActionResult> PutHotelReview(int id, HotelReview hotelReview) { if (id != hotelReview.Id) { return(BadRequest()); } _context.Entry(hotelReview).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!HotelReviewExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <HotelReview> AddAsync(HotelReview hotelReview) { using var dbContext = hotelContextFactory.Invoke(); var addedEntity = dbContext.HotelReviews.Add(hotelReview); await dbContext.SaveChangesAsync(); return(addedEntity.Entity); }
//public ActionResult Edit([Bind(Exclude="ReviewerName")]HotelReview review) public ActionResult Edit(HotelReview review) { if (ModelState.IsValid) { _db.Entry(review).State = EntityState.Modified; _db.SaveChanges(); return(RedirectToAction("Index", new { id = review.Id })); } return(View(review)); }
public ActionResult Create(HotelReview review) { if (ModelState.IsValid) { _db.Reviews.Add(review); _db.SaveChanges(); return(RedirectToAction("Index", new { id = review.Id })); } return(View(review)); }
public void Create(HotelReviewWriteViewModel model, string username) { if (!this.hotelsService.CheckExistById(model.HotelId)) { throw new HotelNullException(); } HotelReview hotelReview = this.mapper.Map <HotelReview>(model); MbUser user = this.usersService.GetByUsername(username); hotelReview.User = user; this.dbContext.HotelReviews.Add(hotelReview); this.dbContext.SaveChanges(); }
public void Create_ShouldCreateNewReviewCorrectly() { int hotelId = 1; this.dbContext.Hotels.Add(new Hotel { Id = hotelId }); this.dbContext.SaveChanges(); Rating rating = Rating.Average; Season timeOfYear = Season.Autumn; TravellerType travellerType = TravellerType.Business; var model = new HotelReviewWriteViewModel { HotelId = hotelId, Rating = rating, TimeOfYear = timeOfYear, TravellerType = travellerType, }; string username = "******"; this.dbContext.Users.Add(new MbUser { UserName = username }); this.dbContext.SaveChanges(); this.hotelReviewsService.Create(model, username); HotelReview result = this.dbContext.HotelReviews.First(); result.ShouldSatisfyAllConditions ( () => result.HotelId.ShouldBe(hotelId), () => result.Rating.ShouldBe(rating), () => result.TimeOfYear.ShouldBe(timeOfYear), () => result.TravellerType.ShouldBe(travellerType), () => result.User.UserName.ShouldBe(username) ); }
public IActionResult Index(AddReviewViewModel model) { if (model == null) { } var reviewstar = _context.starRatings. FirstOrDefault(p => p.StarRatingId == model.ReviewId); HotelReview review = new HotelReview() { ReviewStar = reviewstar.StarNo, Review = model.Review, UserName = model.UserName, hotel = _context.hotels.FirstOrDefault(p => p.HotelId == model.HotelId) }; _context.Add(review); if (_context.SaveChanges() > 0) { return(RedirectToAction("Index", new { area = "User", controller = "HotelReview", id = model.HotelId })); } return(View()); }
public ActionResult SubmitReview(HotelReview hv) { if (ModelState.IsValid) { DataLayer dl = new DataLayer(); int id = Convert.ToInt32(TempData["ID"].ToString()); List <HotelOrder> horderlist = (from x in dl.hotelOrders where x.InvoiceID == id select x).ToList <HotelOrder>(); List <PackageOrder> packageOrder = (from x in dl.packageOrders where x.InvoiceID == id select x).ToList <PackageOrder>(); foreach (HotelOrder ord in horderlist) { ord.Reviewed = 1; } foreach (PackageOrder ord in packageOrder) { ord.Reviewed = 1; } hv.HotelName = TempData["hotelName"].ToString(); hv.CustomerEmail = TempData["email"].ToString(); hv.CustomerName = TempData["Cname"].ToString(); hv.ReviewDate = DateTime.Today.ToShortDateString().Replace('/', '.'); // research part: string rev = Tools.ToolsClass.fixReview(hv.Review); string url = "http://147.235.176.28/" + rev; string codeJson; using (WebClient wc = new WebClient()) { codeJson = wc.DownloadString(url).ToString(); } dynamic results = JsonConvert.DeserializeObject(codeJson); string pos = results.Positive.Value.ToString(); string neg = results.Negative.Value.ToString(); string sp = results.Spam.Value.ToString(); pos = pos.Replace("%", "").Replace("'", ""); neg = neg.Replace("%", "").Replace("'", ""); sp = sp.Replace("%", "").Replace("'", ""); double positive = Convert.ToDouble(pos); double negative = Convert.ToDouble(neg); double spam = Convert.ToDouble(sp); if (spam >= 100) { ViewData["msg"] = "Review detected as spam! Please avoid using bad words"; return(View("WriteReview")); } if (positive > negative) { hv.ReviewType = 0; } else { hv.ReviewType = 1; } dl.hotelReviews.Add(hv); dl.SaveChanges(); ViewData["msgsc"] = "Review sent successfully!"; return(View("WriteReview")); } return(View("HotelReview", hv)); }
public ActionResult SubmitIdentify(IdentifyVM ivm) { DataLayer dl = new DataLayer(); List <Order> orderlist = (from x in dl.orders where x.CreditCard == ivm.credit && x.InvoiceNumber == ivm.InvoiceId && (x.Type == "Hotel" || x.Type == "Package") select x).ToList <Order>(); if (orderlist.Count == 0) { ViewData["msg"] = "Invalid Credit Card and/or Invoice!"; return(View("WriteReview", ivm)); } if (orderlist.First().Status != 1) { ViewData["msg"] = "Order is not confirmed"; return(View("WriteReview", ivm)); } if (orderlist.First().Type == "Hotel") { List <HotelOrder> horderlist = (from x in dl.hotelOrders where x.InvoiceID == ivm.InvoiceId select x).ToList <HotelOrder>(); int inid = horderlist.First().InvoiceID; if (horderlist.First().Reviewed == 1) { ViewData["msg"] = "You Already Reviewed This Order!"; return(View("WriteReview", ivm)); } if (!ToolsClass.iskDateValidForReview(ToolsClass.getDate(horderlist.First().EndDate))) { ViewData["msg"] = "You Cannot Review This Order Yet! (wait untill the end)"; return(View("WriteReview", ivm)); } TempData["hotelName"] = horderlist.First().HotelName; TempData["ID"] = inid; TempData["email"] = orderlist.First().CustomerEmail; HotelReview hr = new HotelReview(); hr.HotelName = horderlist.First().HotelName; hr.CustomerEmail = orderlist.First().CustomerEmail; hr.CustomerName = (from x in dl.customers where x.Email == hr.CustomerEmail select x.FullName).ToList <string>().FirstOrDefault(); TempData["Cname"] = hr.CustomerName; return(View("HotelReview", hr)); } else // if package { List <PackageOrder> packagelist = (from x in dl.packageOrders where x.InvoiceID == ivm.InvoiceId select x).ToList <PackageOrder>(); int inid = packagelist.First().InvoiceID; if (packagelist.First().Reviewed == 1) { ViewData["msg"] = "You Already Reviewed This Order!"; return(View("WriteReview", ivm)); } if (!ToolsClass.iskDateValidForReview(ToolsClass.getDate(packagelist.First().ReturnDate))) { ViewData["msg"] = "You Cannot Review This Order Yet! (wait untill the end)"; return(View("WriteReview", ivm)); } TempData["hotelName"] = packagelist.First().HotelName; TempData["ID"] = inid; TempData["email"] = orderlist.First().CustomerEmail; HotelReview hr = new HotelReview(); hr.HotelName = packagelist.First().HotelName; hr.CustomerEmail = orderlist.First().CustomerEmail; hr.CustomerName = (from x in dl.customers where x.Email == hr.CustomerEmail select x.FullName).ToList <string>().FirstOrDefault(); TempData["Cname"] = hr.CustomerName; return(View("HotelReview", hr)); } }