public async Task <ActionResult> Put([FromBody] PropertyUpdateDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var propertyFromRepo = await this._repo.GetProperty(model.Id); if (propertyFromRepo == null) { return(NotFound()); } if (!await MatchAppUserWithToken((int)propertyFromRepo.AppUserId)) { return(Unauthorized()); } propertyFromRepo.Categorizations.Clear(); await _repo.SaveAll(); _mapper.Map(model, propertyFromRepo); try { await _repo.SaveAll(); } catch (System.Exception ex) { return(BadRequest("Failed to update property: " + ex.Message)); } return(Ok()); }
public async Task UpdateProperty(int id, PropertyUpdateDto property) { var propertyToUpdate = await _unitOfWork.Repository <Property>().GetIncludingAll(p => p.Id == id); if (propertyToUpdate == null) { throw new NullReferenceException(); } var user = await _authentication.GetCurrentUserAsync(); if (propertyToUpdate.UserId != user.Id) { throw new AccessViolationException(); } propertyToUpdate.Address = property.Address; propertyToUpdate.BuildYear = property.BuildYear; propertyToUpdate.City = property.City; propertyToUpdate.UpdatedById = user.Id; propertyToUpdate.FloorsNumber = property.FloorsNumber; propertyToUpdate.Price = property.Price; propertyToUpdate.Size = property.Size; propertyToUpdate.Category = property.Сategory; propertyToUpdate.Floors = property.Floors; propertyToUpdate.UpdatedById = user.Id; propertyToUpdate.UpdatedDateUtc = DateTime.Now; await _unitOfWork.Repository <Property>().UpdateAsync(propertyToUpdate); await _unitOfWork.SaveChangesAsync(); }
public async Task <IActionResult> PutProperty(Guid id, [FromForm] PropertyUpdateDto @property) { if (id != @property.Id) { return(BadRequest()); } var data = _mapper.Map <Property>(@property); await _propertyService.UpdateProperty(data); return(NoContent()); }
public ActionResult UpdateProperty(int id, PropertyUpdateDto propertyUpdateDto) { var propertyModelFromRepo = _repository.GetPropertyById(id); if (propertyModelFromRepo == null) { return(NotFound()); //404 } _mapper.Map(propertyUpdateDto, propertyModelFromRepo); //This updates the edit time to be the current time _repository.UpdateProperty(propertyModelFromRepo); _repository.SaveChanges(); return(Ok(propertyModelFromRepo)); }
public async Task <ActionResult> Post([FromBody] PropertyUpdateDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!await this.MatchAppUserWithToken(model.AppUserId)) { return(Unauthorized()); } var newPropertySeek = this._mapper.Map <Property>(model); _repo.Add(newPropertySeek); if (await _repo.SaveAll() > 0) { return(CreatedAtRoute("GetProperty", new { id = newPropertySeek.Id }, _mapper.Map <PropertyForReturnDto>(newPropertySeek))); } return(BadRequest("Failed to add property")); }