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)); }
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)); }
public IActionResult NewListing() { if (HttpContext.Session.GetInt32("UserID") == null) { return(RedirectToAction("Login", "Login")); } ListingAddressViewModel ViewModel = new ListingAddressViewModel(); return(View(ViewModel)); }
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); }
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)); } }
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)); }
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)); }