using SiberTek.Xenta.Data.Entities;
using SiberTek.Xenta.Data.Entities.Collections;
using SiberTek.Xenta.Enums;
using System;
namespace SiberTek.Xenta.Data.Providers
{
/// <summary>
/// Defines forum subscription data provider methods
/// </summary>
public interface IForumSubscriptionDataProvider : IDataProvider
{
#region Methods
#region C
bool InsertForumSubscription(ForumSubscriptionType type, int forumEntityID, int userID, DateTime createdOn, DateTime updatedOn, out int subscriptionID);
#endregion
#region R
ForumSubscriptionData GetForumSubscription(int subscriptionID);
ForumSubscriptionData GetForumSubscriptionByForumEntityIDAndUserID(ForumSubscriptionType type, int forumEntityID, int userID);
ForumSubscriptionDataCollection GetAllForumSubscriptions(ForumSubscriptionType? type, int? forumEntityID, int? userID, DateTime? createdOnStart, DateTime? createdOnEnd, int startIndex, int count, out int totalCount);
#endregion
#region U
bool UpdateForumSubscription(int subscriptionID, ForumSubscriptionType type, int forumEntityID, int userID, DateTime createdOn, DateTime updatedOn);
#endregion
#region D
bool DeleteForumSubscription(int subscriptionID);
#endregion
#endregion
}
}