public async Task <ActionResult <LocationDto> > PostAsync(CreateLocationDto createLocationDto) { // Note: check if the location with same data exists. if (await _locationsRepo.GetByAsync(createLocationDto.StreetName, createLocationDto.Building, createLocationDto.Flat) != null) { return(StatusCode(StatusCodes.Status409Conflict, "Location with the same data already exist.")); } var location = _mapper.Map <Location>(createLocationDto); await _locationsRepo.AddAsync(location); var locationDto = _mapper.Map <LocationDto>(location); return(CreatedAtAction("Get", new { locationId = location.Id }, locationDto)); }