using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SystemX.Product.ALIS.UI;
using static SystemX.Product.ALIS.UI.FrmMain;

namespace SystemX.Product.ALIS.Interface
{
    public enum eDbTableList
    {
        NONE,
        STAT_Host,
        STAT_User,
        STAT_TestCode,

        PROD_Group,

        STOR_TestListFile,
        PROD_Variant,
        PROD_Release,

        VRFY_Release,
        VRFY_TestListFileRelease,

        HIST_LatestStepVersion,
        HIST_TestListFileLatestStepVersion,

        HIST_LatestAccessKey,
        HIST_Summary,

        HIST_TestList,
        HIST_TestListFile,    
        
        HIST_TestResultShrotTerm,
        HIST_TestResultLongTerm
    }

    public interface IDataController
    {
        SqlCommand GetConnSqlCmd();

        bool GetDuplicateCheck(string strTableName, string strFieldName, string strValue);

        UserInfo GetLoginInfo();

        //TODO : DB CONTROL
        DataTable GetTable(string strQueryText);

        DataTable GetTable(eDbTableList tblName);

        DataTable GetTable(eDbTableList tblName, string strColName, string strParameter);

        string GetServerDateTimeString();

        DateTime GetServerDateTime();

        string SetConvertDateTime(string strGetConvertText);
    }
}
