using System.Collections.Immutable; using Connected.Annotations; using Connected.Notifications; using Connected.ServiceModel; namespace Common.Types.TaxRates; /// /// The service used to manipulate with the entity. /// [Service] [ServiceUrl(Routes.TaxRates)] public interface ITaxRateService : IServiceNotifications { /// /// Queries all valid entities. /// /// An representing all valid entities. [ServiceMethod(ServiceMethodVerbs.Get | ServiceMethodVerbs.Post)] Task?> Query(QueryArgs? args); /// /// Performs a lookup on entities for the specified list of ids. /// /// The List of the ids for which the perform a query. /// An of entities that matches /// the passed ids. [ServiceMethod(ServiceMethodVerbs.Get | ServiceMethodVerbs.Post)] Task?> Query(PrimaryKeyListArgs e); /// /// Selects an entity for the specified id. /// /// The which contains id. /// First that matches the arguments. [ServiceMethod(ServiceMethodVerbs.Get | ServiceMethodVerbs.Post)] Task Select(PrimaryKeyArgs e); /// /// Selects an for the specified arguments. /// /// The arguments for which the entity /// will be returned. /// First that matches the arguments. [ServiceMethod(ServiceMethodVerbs.Get | ServiceMethodVerbs.Post)] Task Select(TaxRateArgs e); /// /// Inserts a new entity. /// /// /// An Id of the newly inserted entity. /// [ServiceMethod(ServiceMethodVerbs.Post)] Task Insert(InsertTaxRateArgs e); /// /// Updates entity. /// /// The containing values to be updated. [ServiceMethod(ServiceMethodVerbs.Post)] Task Update(UpdateTaxRateArgs e); /// /// Deletes entity. /// [ServiceMethod(ServiceMethodVerbs.Delete | ServiceMethodVerbs.Post)] Task Delete(PrimaryKeyArgs e); }