public async Task <ActionResult> Edit(ApartmentModel apartment) { if (!ModelState.IsValid) { return(View(apartment)); } var databaseApartment = _apartmentService.GetById(apartment.Id); if (databaseApartment == null) { return(StatusCode(404)); } databaseApartment.AddToHistory(apartment.FirstName, apartment.LastName, apartment.NoOfPersons); var apartmentForDatabase = apartment.MapToDatabase(); apartmentForDatabase.FirstName = databaseApartment.FirstName; apartmentForDatabase.LastName = databaseApartment.LastName; apartmentForDatabase.NoOfPersons = databaseApartment.NoOfPersons; await _apartmentService.UpdateAsync(apartmentForDatabase); var building = _buildingService.GetByOwnerAndId(User.FindFirstValue(ClaimTypes.NameIdentifier), apartment.BuildingId); TempData["SelectedBuilding"] = building.Id; return(RedirectToAction(nameof(List))); }
public async Task <ActionResult> Add(ApartmentModel apartment) { if (!ModelState.IsValid) { return(View(apartment)); } var databaseApartment = apartment.MapToDatabase(); var building = _buildingService.GetByOwnerAndId(User.FindFirstValue(ClaimTypes.NameIdentifier), apartment.BuildingId); databaseApartment.Id = Guid.NewGuid(); databaseApartment.AddHistoryNewItems(apartment.FirstName, apartment.LastName, apartment.NoOfPersons); databaseApartment.Number = building.Apartments.Count + 1; await _apartmentService.SaveAsync(databaseApartment); building.Apartments.Add(databaseApartment.Id); await _buildingService.UpdateAsync(building); TempData["SelectedBuilding"] = building.Id; return(RedirectToAction(nameof(List))); }