public class BaseController : Controller where T : class, new()
{
BaseDal baseDal = new BaseDal();
#region 通用基础方法
///
/// 新增
///
///
///
public virtual ActionResult Insert(T t)
{
int res = baseDal.Insert(t);
return Content(res.ToString());
}
///
/// 批量新增
///
///
///
public virtual ActionResult InsertBatch(List list)
{
bool res = baseDal.InsertBatch(list);
return Content(res.ToString());
}
///
/// 修改
///
///
///
public virtual ActionResult Update(T t)
{
bool res = baseDal.Update(t);
return Content(res.ToString());
}
///
/// 更新非空字段\部分字段 默认第一个字段为更新主键
///
///
///
public virtual ActionResult UpdateNotNull(T t)
{
bool res = baseDal.UpdateNotNull(t);
return Content(res.ToString());
}
///
/// 删除
///
///
///
public virtual ActionResult Delete(T t)
{
bool res = baseDal.Delete(t);
return Content(res.ToString());
}
///
/// 批量删除
///
///
///
public virtual ActionResult DeleteBatch(List list)
{
bool res = baseDal.DeleteBatch(list);
return Content(res.ToString());
}
///
/// 查询一个实体
///
///
///
public virtual ActionResult Get(string id)
{
T res = baseDal.Get(id);
return Json(res, JsonRequestBehavior.AllowGet);
}
///
/// 查询全部
///
///
public virtual ActionResult GetListAll()
{
List res = baseDal.GetListAll();
return Json(res, JsonRequestBehavior.AllowGet);
}
#endregion
#region 示例方法 需重写
///
/// 获取分页数据
/// Dapper扩展分页
///
///
///
///
///
public virtual ActionResult GetPage(int page, int limit, string Id)
{
long allRowsCount = 0;
List list = baseDal.GetPage(page, limit, out allRowsCount);
LayUIDataResult layUIDataResult = new LayUIDataResult()
{
code = 0,
count = allRowsCount,
msg = "",
data = list
};
return Json(layUIDataResult, JsonRequestBehavior.AllowGet);
}
///
/// SQL分页示例
///
///
///
///
///
public virtual ActionResult GetPageListForSQL(int page, int limit, string Id)
{
JObject jObject = new JObject();
PageDataView res = baseDal.GetPageListForSQL(jObject);
LayUIDataResult layUIDataResult = new LayUIDataResult()
{
code = 0,
count = res.TotalNum,
msg = "",
data = res.Items.ToList()
};
return Json(layUIDataResult, JsonRequestBehavior.AllowGet);
}
///
/// SQL分页示例 主要用于 MVC控制器 Layui
///
///
///
[HttpPost]
public virtual ActionResult GetPageListForSQL(FormCollection collection)
{
T t = new T();
TryUpdateModel(t, collection);
int page = Convert.ToInt32(collection["page"]);
int limit = Convert.ToInt32(collection["limit"]);
PageDataView res = baseDal.GetPageListForSQL(page, limit, t);
LayUIDataResult layUIDataResult = new LayUIDataResult()
{
code = 0,
count = res.TotalNum,
msg = "",
data = res.Items.ToList()
};
return Json(layUIDataResult, JsonRequestBehavior.AllowGet);
}
#endregion
}