Exemple #1
0
        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());
        }
Exemple #2
0
        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));
        }
Exemple #5
0
        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"));
        }