Exemplo n.º 1
0
        // 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));
        }
Exemplo n.º 2
0
        // 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));
        }
Exemplo n.º 3
0
        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 }));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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 }));
        }