/// <summary> /// Start a new dining service in a specified venue area, if one does not already exist. /// If the area already has an active service, this should fail. /// /// Assumes that the database object will throw the error that an active service exists. /// </summary> /// <param name="managerId">Manager ID</param> /// <param name="venueId">Target venue ID</param> /// <param name="areaId">Target area ID</param> /// <returns>The created dining service document</returns> public async Task <DiningServiceDocument> StartDiningService(string managerId, string venueId, string areaId) { // Ensure the manager has access to the given service. await _EnsureManagerCanAccessVenue(managerId, venueId); // Start a new dining service and return it. return(await _database.StartDiningService(venueId, areaId)); }