30 lines
1.5 KiB
C#
30 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Knoks.Core.Entities;
|
|
using Knoks.Core.Entities.Args;
|
|
|
|
namespace Knoks.Core.Logic.Interfaces
|
|
{
|
|
public interface IKnokManager
|
|
{
|
|
IDictionary<string, string> Settings { get; }
|
|
Task<Knok> Process(CreateKnokArgs knok, decimal currentPrice);
|
|
Task<bool> Validate(CreateKnokArgs knok);
|
|
KnokRate KnokRatingCalc(CreateKnokArgs knok);
|
|
Task<Knok> GetKnok(long knokId, long? contextUserId);
|
|
Task<KnokFullData> GetKnokFull(long knokId, long userId);
|
|
FileResponse GetFile(long knokId, string fileName);
|
|
string GetImageUrl(long knokId, string fileName);
|
|
Task<IEnumerable<KnokFeed>> GetPublicKnoks(KnokFeedArgs args);
|
|
Task<IEnumerable<KnokOngoing>> GetAliveKnoks(KnokOngoingArgs args);
|
|
Task<IEnumerable<KnokOngoing>> GetCurrentlyPublishedKnoks(KnokCurrentlyPublishedArgs args, long userId);
|
|
Task<IEnumerable<KnokEnded>> GetPastPublishedKnoks(KnokPastPublishedArgs args, long userId);
|
|
Task<KnokOwnData> GetOwnData(long userId);
|
|
Task<float> GetKnokPrice(long userId);
|
|
Task<Knok> PublishKnok(long knokId, User user, Account userAccount, decimal publishPrice, CreateKnokArgs args); // decimal knokPrice, decimal knokRating);
|
|
Task PurchaseKnok(long knokId, User user, Account account);
|
|
Task<KnokserProfile> GetKnokserProfile(long knokserId);
|
|
Task<IEnumerable<KnokEnded>> GetEndedKnoks(KnokEndedArgs args);
|
|
}
|
|
}
|