public async Task <Models.CityRestaurantJunction> AddCityRestaurantJunction(CityRestaurantJunction cityRestaurantJunction)
        {
            var dbEntity = Mapper.Map <Entities.CityRestaurantJunction>(cityRestaurantJunction);
            await DbContext.CityRestaurantJunction.AddAsync(dbEntity);

            var result = await DbContext.SaveChangesAsync() == 1 ? dbEntity : null;

            return(Mapper.Map <Models.CityRestaurantJunction>(result));
        }
        public async Task <Restaurant> CreateRestaurantAsync(long cityId, CreateRestaurantRq createRestaurant)
        {
            var city = await _cityRepository.GetByIdAsync(cityId);

            if (city == null)
            {
                throw new ApplicationNotFoundException($"Could not found {nameof(City)} with id '{cityId}'");
            }

            var restaurant    = _mapper.Map <Restaurant>(createRestaurant);
            var newRestaurant = await _restaurantRepository.AddAsync(restaurant);

            var junction = new CityRestaurantJunction
            {
                CityId       = city.Id.Value,
                RestaurantId = newRestaurant.Id.Value
            };
            var newRestaurants = await _restaurantRepository.AddCityRestaurantJunction(junction);

            return(newRestaurant);
        }