using Grand.Domain.Customers;

namespace Grand.Business.Core.Interfaces.Customers;

public interface ISalesEmployeeService
{
    /// <summary>
    ///     Gets a sales employee
    /// </summary>
    /// <param name="salesEmployeeId">The sales employee identifier</param>
    /// <returns>SalesEmployee</returns>
    Task<SalesEmployee> GetSalesEmployeeById(string salesEmployeeId);

    /// <summary>
    ///     Gets all sales employees
    /// </summary>
    /// <returns>Warehouses</returns>
    Task<IList<SalesEmployee>> GetAll();

    /// <summary>
    ///     Inserts a sales employee
    /// </summary>
    /// <param name="salesEmployee">Sales Employee</param>
    Task InsertSalesEmployee(SalesEmployee salesEmployee);

    /// <summary>
    ///     Updates the sales employee
    /// </summary>
    /// <param name="salesEmployee">Sales Employee</param>
    Task UpdateSalesEmployee(SalesEmployee salesEmployee);

    /// <summary>
    ///     Deletes a sales employee
    /// </summary>
    /// <param name="salesEmployee">The sales employee</param>
    Task DeleteSalesEmployee(SalesEmployee salesEmployee);
}