public async Task <IActionResult> UpdateAsync(UpdateApartmentModel apartmentViewModel) { if (ModelState.IsValid == false) { return(View()); } var apartment = apartmentViewModel.Apartment; if (apartment.Id != 0) { var apartmentDbo = _context.Apartments.FirstOrDefault(a => a.Id == apartment.Id); apartmentDbo.Name = apartment.Name; apartmentDbo.Price = apartment.Price; apartmentDbo.NumBeds = apartment.NumBeds; apartmentDbo.NumRooms = apartment.NumRooms; apartmentDbo.NumStars = apartment.NumStars; apartmentDbo.Balcony = apartment.Balcony; apartmentDbo.AirConditioner = apartment.AirConditioner; apartmentDbo.CategoryId = apartment.CategoryId; apartmentDbo.OwnerId = _userManager.GetUserId(User); apartmentDbo.Address = apartment.Address; apartmentDbo.CityBlockId = apartment.CityBlockId; } else { apartment.OwnerId = _userManager.GetUserId(User); await _context.AddAsync(apartment); await _context.SaveChangesAsync(); } if (apartmentViewModel.ImageFiles != null) { var images = new List <Image>(); foreach (var fileImage in apartmentViewModel.ImageFiles) { var image = new Image(); image.ApartmentId = apartment.Id; image.ImageName = UploadedFile(fileImage); images.Add(image); } await _context.AddRangeAsync(images); } await _context.SaveChangesAsync(); return(RedirectToAction("Index")); }
public IActionResult DeleteImages(UpdateApartmentModel apartmentViewModel) { var categories = _context.ApartmentCategories.ToList(); var cityBlocks = _context.CityBlocks.ToList(); var apartment = _context.Apartments.FirstOrDefault(a => a.Id == apartmentViewModel.Apartment.Id); var imagesDbo = _context.Images.Where(i => i.ApartmentId == apartment.Id).ToList(); foreach (var image in imagesDbo) { System.IO.File.Delete("./wwwroot/ApartmentImages/" + image.ImageName); } _context.RemoveRange(imagesDbo); _context.SaveChanges(); return(RedirectToAction("Edit", new { Id = apartment.Id })); }
public IActionResult Edit(int Id) { var categories = _context.ApartmentCategories.ToList(); var cityBlocks = _context.CityBlocks.ToList(); var apartment = _context.Apartments.FirstOrDefault(a => a.Id == Id); apartment.Images = _context.Images.Where(i => i.ApartmentId == Id).ToList(); var viewModel = new UpdateApartmentModel { Apartment = apartment, Categories = categories, CityBlocks = cityBlocks, Title = "Edit" }; return(View("MyApartmentForm", viewModel)); }
public IActionResult New() { var categories = _context.ApartmentCategories.ToList(); var cityBlocks = _context.CityBlocks.ToList(); var apartment = new Apartment(); apartment.Images = new List <Image>(); var viewModel = new UpdateApartmentModel { Apartment = apartment, Categories = categories, CityBlocks = cityBlocks, Title = "New" }; return(View("MyApartmentForm", viewModel)); }