Exemple #1
0
        public IActionResult EditListing(int ListID)
        {
            if (HttpContext.Session.GetInt32("UserID") == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            ListingAddressViewModel ViewModel = new ListingAddressViewModel()
            {
                NewListing = DBContext.Listings
                             .Include(l => l.Address)
                             .Include(l => l.Bookings)
                             .ThenInclude(b => b.User)
                             .FirstOrDefault(l => l.ListingID == ListID)
            };

            ViewModel.Address = ViewModel.NewListing.Address;

            foreach (string entry in ViewModel.AmenitiesDict.Keys.ToList())
            {
                if (ViewModel.NewListing.Amenities.Contains(entry))
                {
                    ViewModel.AmenitiesDict[entry] = true;
                }
            }

            return(View(ViewModel));
        }
Exemple #2
0
        public IActionResult EditListing(ListingAddressViewModel modelData, int ListID)
        {
            if (ModelState.IsValid)
            {
                modelData.NewListing.Amenities = string.Join(", ", modelData.AmenitiesDict.Where(d => d.Value != false).Select(d => d.Key));

                Listing ListingUpdate = DBContext.Listings.FirstOrDefault(l => l.ListingID == ListID);
                ListingUpdate.Title       = modelData.NewListing.Title;
                ListingUpdate.Type        = modelData.NewListing.Type;
                ListingUpdate.Price       = modelData.NewListing.Price;
                ListingUpdate.BedNum      = modelData.NewListing.BedNum;
                ListingUpdate.BathNum     = modelData.NewListing.BathNum;
                ListingUpdate.MaxGuests   = modelData.NewListing.MaxGuests;
                ListingUpdate.PetFriendly = modelData.NewListing.PetFriendly;
                ListingUpdate.Description = modelData.NewListing.Description;
                ListingUpdate.Amenities   = string.Join(", ", modelData.AmenitiesDict.Where(d => d.Value != false).Select(d => d.Key));

                Address AddressUpdate = DBContext.Addresses.FirstOrDefault(a => a.AddressID == modelData.Address.AddressID);
                AddressUpdate.StreetAddress1 = modelData.Address.StreetAddress1;
                AddressUpdate.StreetAddress2 = modelData.Address.StreetAddress2;
                AddressUpdate.City           = modelData.Address.City;
                AddressUpdate.State          = modelData.Address.State;
                AddressUpdate.Zip            = modelData.Address.Zip;

                DBContext.SaveChanges();
                return(Redirect($"/TravelNow/Listing/Details/{ListID}"));
            }
            return(View(modelData));
        }
Exemple #3
0
        public IActionResult NewListing()
        {
            if (HttpContext.Session.GetInt32("UserID") == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            ListingAddressViewModel ViewModel = new ListingAddressViewModel();

            return(View(ViewModel));
        }
Exemple #4
0
        private string UploadedFile(ListingAddressViewModel model)
        {
            string uniqueFileName = null;

            if (model.ProfileImage != null)
            {
                string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.ProfileImage.FileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using var fileStream = new FileStream(filePath, FileMode.Create);
                model.ProfileImage.CopyTo(fileStream);
            }
            return(uniqueFileName);
        }
Exemple #5
0
        public ActionResult CreateListing(ListingAddressViewModel theListing)
        {
            string   uniqueFileName = UploadedFile(theListing);
            var      userId         = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            Landlord landlord       = _repo.Landlord.GetLandlord(userId);
            Listing  newListing     = new Listing();
            Address  listingAddress = new Address();
            Image    thisImage      = new Image();

            _repo.Image.Create(thisImage);
            _repo.Listing.CreateListing(newListing);

            thisImage.Listing            = newListing;
            thisImage.ListingId          = newListing.ListingId;
            thisImage.MainImage          = uniqueFileName;
            newListing.ListingMainPhoto  = uniqueFileName;
            newListing.Landlord          = landlord;
            newListing.ListingName       = theListing.ListingName;
            listingAddress.StreetAddress = theListing.StreetAddress;
            listingAddress.City          = theListing.City;
            listingAddress.State         = theListing.State;
            listingAddress.Zipcode       = int.Parse(theListing.Zipcode);
            newListing.Address           = listingAddress;
            newListing.SerializedAddress = AddressToJSON(listingAddress);
            newListing.HomeType          = theListing.HomeType;
            newListing.PricePoint        = theListing.PricePoint;
            newListing.AvailabilityDate  = theListing.AvailabilityDate;
            newListing.LengthOfTerm      = theListing.LengthOfTerm;
            newListing.Beds               = theListing.NumberOfBeds;
            newListing.Baths              = theListing.NumberOfBaths;
            newListing.SqareFootage       = theListing.SquareFeet;
            newListing.Amenities          = theListing.Amenities;
            newListing.DealActive         = theListing.DealActive;
            newListing.IsSmoker           = theListing.IsSmoker;
            newListing.HasPet             = theListing.HasPet;
            newListing.UtilitiesIncluded  = theListing.UtilitiesIncluded;
            newListing.GoodCreditRequired = theListing.GoodCreditRequired;
            newListing.IsRented           = theListing.IsRented;
            newListing.WorkOrders         = new List <WorkOrder>();
            _repo.Save();
            try
            {
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                return(View(e));
            }
        }
Exemple #6
0
        public IActionResult NewListing(ListingAddressViewModel modelData)
        {
            if (ModelState.IsValid)
            {
                DBContext.Addresses.Add(modelData.Address);
                DBContext.SaveChanges();

                modelData.NewListing.HostID    = (int)HttpContext.Session.GetInt32("UserID");
                modelData.NewListing.AddressID = DBContext.Addresses.LastOrDefault().AddressID;
                modelData.NewListing.Amenities = string.Join(", ", modelData.AmenitiesDict.Where(d => d.Value != false).Select(d => d.Key));
                DBContext.Listings.Add(modelData.NewListing);
                DBContext.SaveChanges();
                return(RedirectToAction("Profile", "Home"));
            }

            return(View(modelData));
        }
Exemple #7
0
        public ActionResult MyProperties()
        {
            if (this.User.Identity.Name == null)
            {
                return(RedirectToAction("Error", "Home"));
            }
            ListingAddressViewModel myListings = new ListingAddressViewModel();
            var      userId      = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            Landlord theLandlord = _repo.Landlord.GetLandlord(userId);

            myListings.Listings = _repo.Listing.GetAllListings(theLandlord.LandlordId).ToList();
            myListings.Landlord = theLandlord;
            foreach (var item in myListings.Listings)
            {
                item.WorkOrders = _repo.WorkOrder.GetAllWorkOrders(item.ListingId).ToList();
            }
            return(View(myListings));
        }