using JiangSu.Models;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Data.SQLite;
|
using System.Linq;
|
using System.Reflection;
|
using System.Web;
|
|
namespace JiangSu.cs
|
{
|
public class ModelDAL
|
{
|
public static List<Model> SelectByPage(string name, int pageSize = 10, int pageIndex = 1)
|
{
|
bool flag = string.IsNullOrWhiteSpace(name);
|
string sql = string.Format("select * from model {0} order by id limit {1} offset {2}", flag ? "" : "where upper(name) like @name", pageSize, pageSize * (pageIndex - 1));
|
|
DataTable dt = flag ? SQLiteHelper.GetDataTable(sql) : SQLiteHelper.GetDataTable(sql, new SQLiteParameter("@name", "%" + name.Trim().ToUpper() + "%"));
|
if (null == dt || dt.Rows.Count == 0)
|
{
|
return null;
|
}
|
|
List<Model> list = ModelHandler.FillModel<Model>(dt);
|
|
return list;
|
}
|
|
public static Model SelectById(long id)
|
{
|
string sql = "select * from model where id = @id";
|
|
SQLiteParameter param = new SQLiteParameter("@id");
|
param.Value = id;
|
|
DataTable dt = SQLiteHelper.GetDataTable(sql, param);
|
if (null == dt || dt.Rows.Count == 0)
|
{
|
return null;
|
}
|
|
List<Model> list = ModelHandler.FillModel<Model>(dt);
|
|
return null == list || list.Count == 0 ? null : list[0];
|
}
|
|
public static int DeleteByIds(List<int> ids)
|
{
|
string str = string.Join(",", ids.ToArray());
|
string sql = string.Format("delete from model where id in ({0})", str);
|
|
return SQLiteHelper.ExecuteNonQuery(sql);
|
}
|
|
public static int DelAll()
|
{
|
return SQLiteHelper.ExecuteNonQuery("delete from model");
|
}
|
|
public static int Insert(Model model)
|
{
|
string sql = "insert into model (name, json) values (@name, @json); select last_insert_rowid();";
|
SQLiteParameter[] sqlParams = Tools.GetSQLiteParams<Model>(sql, model);
|
|
//return SQLiteHelper.ExecuteNonQuery(sql, sqlParams);
|
|
object obj = SQLiteHelper.ExecuteScalar(sql, sqlParams);
|
|
return null == obj ? 0 : Convert.ToInt32(obj);
|
}
|
|
public static int UpdateById(Model model)
|
{
|
string sql = "update model set name = @name, json = @json where id = @id";
|
SQLiteParameter[] sqlParams = Tools.GetSQLiteParams<Model>(sql, model);
|
|
return SQLiteHelper.ExecuteNonQuery(sql, sqlParams);
|
}
|
}
|
}
|