This commit is contained in:
Paul Schneider 2026-02-14 16:54:27 +00:00
commit 45514010f2
3505 changed files with 154 additions and 523 deletions

View file

@ -0,0 +1,7 @@
namespace Yavsc.Services
{
public interface IBankInterface
{
}
}

View file

@ -0,0 +1,12 @@
using System;
namespace Yavsc
{
public interface ITrackedEntity
{
DateTime DateCreated { get; set; }
string? UserCreated { get; set; }
DateTime DateModified { get; set; }
string? UserModified { get; set; }
}
}

View file

@ -0,0 +1,13 @@
using System;
namespace Yavsc.Abstract.Interfaces
{
public interface IBatch<TInput, TOutput>
{
string WorkingDir { get; set; }
Action<TOutput> ResultHandler { get; }
void Launch(TInput Input);
string LogPath { get; set; }
}
}

View file

@ -0,0 +1,40 @@
namespace Yavsc.Services
{
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using Yavsc.Abstract.Workflow;
public interface IBillingService
{
// TODO ensure a default value at using this:
/// <summary>
/// maps a command type name to a billing 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<IDecidableQuery> GetBillAsync(string billingCode, long queryId);
/// <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<IUserSettings> GetPerformersSettingsAsync(string activityCode, string userId);
}
}

View file

@ -0,0 +1,36 @@
//
// IIdentified.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
namespace Yavsc
{
/// <summary>
/// I identified.
/// </summary>
public interface IIdentified<T>
{
/// <summary>
/// Gets or sets the identifier.
/// </summary>
/// <value>The identifier.</value>
T Id { get; set; }
}
}

View file

@ -0,0 +1,28 @@
//
// ITitle.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
namespace Yavsc
{
public interface ITitle
{
string Title { get; set; }
}
}

View file

@ -0,0 +1,10 @@
using Yavsc.Abstract.Identity;
namespace Yavsc.Interfaces
{
public interface ICircleMember: IIdentified<long>
{
ICircle Circle { get; set; }
IApplicationUser Member { get; set; }
}
}

View file

@ -0,0 +1,9 @@
namespace Yavsc.Interfaces
{
public interface IComment<TReceiverId>
{
string Content { get; set; }
TReceiverId ReceiverId { get; set; }
}
}

View file

@ -0,0 +1,21 @@

using Yavsc.Abstract.Identity;
namespace Yavsc.Interfaces
{
public interface IGCMDeclaration
{
string DeviceId { get; set; }
string GCMRegistrationId { get; set; }
string Model { get; set; }
string Platform { get; set; }
string Version { get; set; }
}
public interface IGoogleCloudMobileDeclaration: IGCMDeclaration
{
IApplicationUser DeviceOwner { get; set; }
string DeviceOwnerId { get; set; }
}
}

View file

@ -0,0 +1,8 @@
namespace Yavsc.Interfaces
{
public interface ILocation
{
string Address { get; set; }
long Id { get; set; }
}
}

View file

@ -0,0 +1,7 @@
namespace Yavsc.Interfaces
{
public interface INamedObject
{
string Name { get; set; }
}
}

View file

@ -0,0 +1,7 @@
namespace Yavsc.Interfaces
{
public interface IOwned
{
string OwnerId { get; }
}
}

View file

@ -0,0 +1,8 @@
namespace Yavsc.Interfaces
{
public interface IPosition
{
double Latitude { get; set; }
double Longitude { get; set; }
}
}

View file

@ -0,0 +1,9 @@
namespace Yavsc.Interfaces
{
public interface ITaggable<K>
{
string [] GetTags();
K Id { get; }
}
}

View file

@ -0,0 +1,13 @@
using Yavsc.Billing;
namespace Yavsc.Models.Billing {
public interface IBillingClause { 
string Description {get; set;}
IBillingImpacter Impacter { get; }
// TODO
// Conditions de ventes relatives à l'impact
// IEnumerable<long> CGV,CPV
}
}

View file

@ -0,0 +1,14 @@
using System;
using Yavsc.Abstract.Identity;
namespace Yavsc.Interfaces
{
public interface IBookQueryData
{
ClientProviderInfo Client { get; set; }
DateTime EventDate { get; set; }
long Id { get; set; }
ILocation Location { get; set; }
decimal? Previsionnal { get; set; }
}
}

View file

@ -0,0 +1,8 @@
namespace Yavsc.Interfaces
{
public interface IContact
{
string OwnerId { get; set; }
string UserId { get; set; }
}
}