Example #1
0
        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));
        }
Example #2
0
        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));
        }