/// <summary>
        /// </summary>
        /// <param name="restaurantDTO"></param>
        /// <returns>name of the restaurant</returns>
        /// ///
        /// <exception cref="ArgumentException"></exception>
        public async Task <string> AddRestaurant(RestaurantDTO restaurantDTO)
        {
            if (await _restaurantRepo.RestaurantExists(restaurantDTO.Name))
            {
                throw new ArgumentException("Restaurant exists");
            }

            await _restaurantRepo.AddRestaurantAsync(_mapper.Map <Restaurant>(restaurantDTO));

            await _unitOfWork.SaveAsync();

            return(restaurantDTO.Name);
        }