// GET: RealEstateController/Details/5 public async Task <IActionResult> Details(int?id) { DetailsRealEstateViewModel viewModel = new DetailsRealEstateViewModel(); if (id == null) { return(NotFound()); } viewModel.RealEstate = await _context.RealEstates .Include(re => re.RealEstatePictures) .Include(re => re.RealEstateSubtype).ThenInclude(t => t.RealEstateType) .Include(re => re.Town) .Include(re => re.RealEstateStatus) .Include(re => re.HeatingType) .Include(re => re.Favorites) .Include(re => re.Agency).ThenInclude(a => a.RealEstates) .Include(re => re.EnergyClass) .FirstOrDefaultAsync(r => r.RealEstateID == id); viewModel.UserAccount = GetUser(); if (viewModel.RealEstate == null) { return(NotFound()); } return(View(viewModel)); }
// GET: RealEstateController/Create public Task <IActionResult> CreateFavorite(int id) { DetailsRealEstateViewModel viewModel = new DetailsRealEstateViewModel(); string accountId = _userManager.GetUserId(HttpContext.User); viewModel.UserAccount = _context.UserAccounts.Where(a => a.UserID == accountId).FirstOrDefault(); //return RedirectToAction(nameof(Details), "RealEstate", new { id = id }); return(CreateFavorite(viewModel, id)); }
public async Task <IActionResult> DeleteFavoriteConfirmed(int realEstateID) { DetailsRealEstateViewModel viewModel = new DetailsRealEstateViewModel(); viewModel.UserAccount = GetUser(); var favorite = _context.Favorites.Where(f => f.UserAccountID == viewModel.UserAccount.UserAccountID) .Where(f => f.RealEstateID == realEstateID).FirstOrDefault(); if (favorite == null) { return(NotFound()); } _context.Favorites.Remove(favorite); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), "RealEstate", new { id = realEstateID })); }
public ActionResult RealEstateDetails(string id) { var dbRealEstate = this.realEstatesService.GetByEncodedId(id); var visitorsId = (int)dbRealEstate.VisitorsDetailsId; VisitorsDetails dbVisitors = this.visitorsService.GetById(visitorsId); var userId = this.User.Identity.GetUserId(); var currentlyLoggedUser = this.usersService.GetUserDetailsById(userId); //update entity dbVisitors.AllUsers.Add(currentlyLoggedUser); this.visitorsService.Update(dbVisitors); DetailsRealEstateViewModel viewRealEstate = this.Mapper.Map <DetailsRealEstateViewModel>(dbRealEstate); viewRealEstate.UserId = dbRealEstate.PublisherId; viewRealEstate.EncodedId = id; return(this.View(viewRealEstate)); }
public async Task <IActionResult> CreateFavorite(DetailsRealEstateViewModel viewModel, int id) { if (viewModel.UserAccount.UserAccountID == 0) { viewModel = new DetailsRealEstateViewModel(); string accountId = _userManager.GetUserId(HttpContext.User); viewModel.UserAccount = _context.UserAccounts.Where(a => a.UserID == accountId).FirstOrDefault(); } Favorite favorite = new Favorite() { UserAccountID = viewModel.UserAccount.UserAccountID, RealEstateID = id }; List <Favorite> favorites = await _context.Favorites.ToListAsync(); if (!favorites.Contains(favorite)) { _context.Favorites.Add(favorite); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Details), "RealEstate", new { id = id })); }