using Infrastructure.Models;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Infrastructure.Interfaces
{
    public interface ITestProjectService
    {
        Task CreateTestProject(TestProject project);

        Task EditTestProject(TestProject project);

        Task DeleteTestProject(TestProject project);
        
        Task<TestProject> GetTestProject(int projectID);
        
        IEnumerable<TestProject> ListTestProjects();

        void UpdateExternalIDCounter(int projectID);
        
        bool VerifyProjectName(string projectName, int? id);
        
        TestProject Project { get; }
        
        void SetProject(int? projectID);
    }
}