using BlogContracts.BindingModels;
using BlogContracts.SearchModels;
using BlogContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BlogContracts.StoragesContracts
{
    public interface IMessageStorage
    {
        List<MessageViewModel> GetFullList();
        List<MessageViewModel> GetFilteredList(MessageSearchModel model);
        MessageViewModel? GetElement(MessageSearchModel model);
        MessageViewModel? Insert(MessageBindingModel model);
        MessageViewModel? Update(MessageBindingModel model);
        MessageViewModel? Delete(MessageBindingModel model);
        string TestInsertList(int num, List<UserViewModel> users, List<TopicViewModel> topics);
        string TestReadList(int num);
        string TestJoinReadList(int num);
    }
}