Try your search with a different keyword or use * as a wildcard.
using Nop.Core.Domain.Common;
using Nop.Core.Domain.Directory;
namespace Nop.Services.Directory;
/// <summary>
/// Country service interface
/// </summary>
public partial interface ICountryService
{
/// <summary>
/// Deletes a country
/// </summary>
/// <param name="country">Country</param>
/// <returns>A task that represents the asynchronous operation</returns>
Task DeleteCountryAsync(Country country);
/// <summary>
/// Gets all countries
/// </summary>
/// <param name="languageId">Language identifier. It's used to sort countries by localized names (if specified); pass 0 to skip it</param>
/// <param name="showHidden">A value indicating whether to show hidden records</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the countries
/// </returns>
Task<IList<Country>> GetAllCountriesAsync(int languageId = 0, bool showHidden = false);
/// <summary>
/// Gets all countries that allow billing
/// </summary>
/// <param name="languageId">Language identifier. It's used to sort countries by localized names (if specified); pass 0 to skip it</param>
/// <param name="showHidden">A value indicating whether to show hidden records</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the countries
/// </returns>
Task<IList<Country>> GetAllCountriesForBillingAsync(int languageId = 0, bool showHidden = false);
/// <summary>
/// Gets all countries that allow shipping
/// </summary>
/// <param name="languageId">Language identifier. It's used to sort countries by localized names (if specified); pass 0 to skip it</param>
/// <param name="showHidden">A value indicating whether to show hidden records</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the countries
/// </returns>
Task<IList<Country>> GetAllCountriesForShippingAsync(int languageId = 0, bool showHidden = false);
/// <summary>
/// Gets a country by address
/// </summary>
/// <param name="address">Address</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the country
/// </returns>
Task<Country> GetCountryByAddressAsync(Address address);
/// <summary>
/// Gets a country
/// </summary>
/// <param name="countryId">Country identifier</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the country
/// </returns>
Task<Country> GetCountryByIdAsync(int countryId);
/// <summary>
/// Get countries by identifiers
/// </summary>
/// <param name="countryIds">Country identifiers</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the countries
/// </returns>
Task<IList<Country>> GetCountriesByIdsAsync(int[] countryIds);
/// <summary>
/// Gets a country by two letter ISO code
/// </summary>
/// <param name="twoLetterIsoCode">Country two letter ISO code</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the country
/// </returns>
Task<Country> GetCountryByTwoLetterIsoCodeAsync(string twoLetterIsoCode);
/// <summary>
/// Gets a country by three letter ISO code
/// </summary>
/// <param name="threeLetterIsoCode">Country three letter ISO code</param>
/// <returns>
/// A task that represents the asynchronous operation
/// The task result contains the country
/// </returns>
Task<Country> GetCountryByThreeLetterIsoCodeAsync(string threeLetterIsoCode);
/// <summary>
/// Inserts a country
/// </summary>
/// <param name="country">Country</param>
/// <returns>A task that represents the asynchronous operation</returns>
Task InsertCountryAsync(Country country);
/// <summary>
/// Updates the country
/// </summary>
/// <param name="country">Country</param>
/// <returns>A task that represents the asynchronous operation</returns>
Task UpdateCountryAsync(Country country);
}