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

namespace CaseAccountingContracts.StoragesContracts
{
    public interface ICaseStorage
    {
        List<CaseViewModel> GetFullList();
        List<CaseViewModel> GetFilteredList(CaseSearchModel model);
        CaseViewModel? GetElement(CaseSearchModel model);
        CaseViewModel? Insert(CaseBindingModel model);
        CaseViewModel? Update(CaseBindingModel model);
        CaseViewModel? Delete(CaseBindingModel model);

        List<HearingViewModel> GetCaseHearings(CaseSearchModel model);
        List<SpecializationCasesViewModel>? GetSpecializationCases();
    }
}
