public async Task <ActionResult <ApartmentResource> > UpdateApartment(int id, [FromBody] SaveApartmentResource saveApartmentResource) { var validator = new SaveApartmentResourceValidator(); var validationResult = await validator.ValidateAsync(saveApartmentResource); var requestIsInvalid = id == 0 || !validationResult.IsValid; if (requestIsInvalid) { return(BadRequest(validationResult.Errors)); } var apartmentToBeUpdate = await _apartmentService.GetApartmentsById(id); if (apartmentToBeUpdate == null) { return(NotFound()); } var apartment = _mapper.Map <SaveApartmentResource, Apartment>(saveApartmentResource); await _apartmentService.UpdateApartment(apartmentToBeUpdate, apartment); var updatedApartment = await _apartmentService.GetApartmentsById(id); var updatedApartmentResource = _mapper.Map <Apartment, ApartmentResource>(updatedApartment); return(Ok(updatedApartmentResource)); }
public async Task <ActionResult <ApartmentResource> > CreateApartment([FromBody] SaveApartmentResource saveApartmentResource) { var validator = new SaveApartmentResourceValidator(); var validationResult = await validator.ValidateAsync(saveApartmentResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var apartmentToCreate = _mapper.Map <SaveApartmentResource, Apartment>(saveApartmentResource); var newApartment = await _apartmentService.CreatApartment(apartmentToCreate); var apartment = await _apartmentService.GetApartmentsById(newApartment.Id); var artistResource = _mapper.Map <Apartment, ApartmentResource>(apartment); return(Ok(artistResource)); }