using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Txgy.RBS.DTO;
using Txgy.RBS.Framework;
using Txgy.RBS.Framework.Api;
using Txgy.RBS.IServices;

namespace Txgy.RBS.IServices
{
    public interface IProjectInfoService : IBaseService
    {
        ApiResult AddProjectInfo(ProjectInfoDTO project);

        ApiResult DeleteProjectInfo(int id);

        ApiResult UpdateProjectInfo(ProjectInfoDTO project);

        ProjectInfoDTO GetProjectInfo(int id);
     
        List<ProjectInfoDTO> GetAllProjectInfo();

        ProjectUsedDTO GetCurrentProjectUsed(string clientName);
        ProjectUsedDTO GetCurrentProjectUsed(int projectId);

        ApiResult UpdateCurrentProjectUsed(ProjectUsedDTO projectUsed);

        ApiResult DeleteCurrentProjectUsed(int projectId);

        ApiResult StartProject(string projectName, ProcessConfig processConfig);

        ApiResult StopProject(string ProjectName);

        ApiResult GetState(string projectName,int id);

        ApiResult ExportCSV(string fileName, List<StationDTO> stations);
    }
}
