yavsc/Yavsc.Abstract/Interfaces/IBillingService.cs

48 lines
1.6 KiB
C#

7 years ago
namespace Yavsc.Services
{
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
6 years ago
using Yavsc.Abstract.Workflow;
7 years ago
6 years ago
public interface IBillingService
{
6 years ago
// TODO ensure a default value at using this:
/// <summary>
6 years ago
/// maps a command type name to a bolling code, used to get bill assets
/// </summary>
/// <returns></returns>
Dictionary<string,string> BillingMap { get; }
/// <summary>
/// Renvoye la facture associée à une clé de facturation,
/// à partir du couple suivant :
///
/// * un code de facturation
/// (identifiant associé à un type de demande du client)
/// * un entier long identifiant la demande du client
/// (à une demande, on associe au maximum une seule facture)
/// </summary>
/// <param name="billingCode">Identifiant du type de facturation</param>
/// <param name="queryId">Identifiant de la demande du client</param>
/// <returns>La facture</returns>
Task<INominativeQuery> GetBillAsync(string billingCode, long queryId);
6 years ago
/// <summary>
/// All performer setting in this activity
/// </summary>
/// <param name="activityCode"></param>
/// <returns></returns>
Task<IQueryable<ISpecializationSettings>> GetPerformersSettingsAsync(string activityCode);
7 years ago
6 years ago
/// <summary>
/// Perfomer settings for the specified performer in the activity
/// </summary>
/// <param name="activityCode">activityCode</param>
/// <param name="userId">performer uid</param>
/// <returns></returns>
Task<ISpecializationSettings> GetPerformerSettingsAsync(string activityCode, string userId);
}
}