using Models;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;

namespace Interface
{
  public interface BaseInterface
    {
        Boolean Add<T>(T data);
        bool CBAdd(string sql, SqlParameter[] para);
        Boolean DeleteItemBykey<T>(object key);
        T QueryItembyKey<T>(object key);
        Boolean Update<T>(T data);

        List<T> GetList<T>(int page, int rows, string order, List<EExpression> expression, bool isDesc = true);
        List<T> GetList<T>(string order,List<EExpression> expression, bool isDesc = true);

        IEnumerable<T> FindeList<T>(string sql, SqlParameter[] para=null);
        int GetCount<T>();
        int GetPageListCount<T>(List<EExpression> expression);
    }
}