public class BaseApiController : ApiController where T : class
{
BaseDal baseDal = new BaseDal();
#region 通用Api
///
/// 新增
///
///
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage Insert([FromBody] JObject value)
{
T model = value.ToObject();
int res = DbHelper.Insert(model);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// 批量新增
///
///
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage InsertBatch([FromBody] List value)
{
bool res = DbHelper.InsertBatch(value);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// 修改
///
///
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage Update([FromBody] JObject value)
{
T model = value.ToObject();
bool res = DbHelper.Update(model);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// 更新非空字段\部分字段 默认第一个字段为更新主键
///
///
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage UpdateNotNull([FromBody] JObject value)
{
T model = value.ToObject();
bool res = baseDal.UpdateNotNull(model);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// 删除
///
///
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage Delete([FromBody] JObject value)
{
T model = value.ToObject();
bool res = DbHelper.Delete(model);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// 批量删除
///
///
///
[System.Web.Http.HttpPost]
//public virtual HttpResponseMessage DeleteBatch([FromBody] T value)
public virtual HttpResponseMessage DeleteBatch([FromBody] List value)
{
//List model = value.ToObject>();
bool res = DbHelper.DeleteBatch(value);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// 查询一个实体
///
///
///
[System.Web.Http.HttpGet]
public virtual HttpResponseMessage Get(string id)
{
T res = DbHelper.Get(id);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res.ToJson());
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// 查询全部
///
///
[System.Web.Http.HttpGet]
public virtual HttpResponseMessage GetListAll()
{
List res = DbHelper.GetListAll();
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res.ToJson());
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
#endregion
#region 示例Api需重写
///
/// 以条件查询
///
/// 条件
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage GetList([FromBody] JObject where)
{
var v = new { UserID = 5 };
List res = baseDal.GetList(where);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res.ToJson());
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// SQL分页示例
///
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage GetPageListForSQL([FromBody] JObject value)
{
PageCriteria pageCriteria = new PageCriteria();
StringBuilder sb = new StringBuilder();
sb.Append("UserName like @UserName");
pageCriteria.ParameterList.Add(new ParameterDict() { ParamName = "UserName", ParamValue = "%jack%" });
sb.Append(" and State=@State");
pageCriteria.ParameterList.Add(new ParameterDict() { ParamName = "State", ParamValue = 0 });
pageCriteria.Condition = sb.ToString();
pageCriteria.CurrentPage = 5;
pageCriteria.Fields = " * ";
pageCriteria.PageSize = 10;
//pageCriteria.PrimaryKey = " id";
pageCriteria.Sort = " UserID desc";
pageCriteria.TableName = "UserInfo";
PageDataView res = baseDal.GetPageListForSQL(value);
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res.ToJson());
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
///
/// Dapper扩展分页
///
///
///
[System.Web.Http.HttpPost]
public virtual HttpResponseMessage GetPage([FromBody] Object value)
{
//Object model = value.ToObject
int pageIndex = 0;
int pageSize = 5;
List res = baseDal.GetPage(pageIndex, pageSize, out long allRowsCount);
long t = allRowsCount;
JObject obj = new JObject();
obj.Add("code", "0");
obj.Add("msg", "成功");
obj.Add("data", res.ToJson());
obj.Add("allRowsCount", allRowsCount);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(obj.ToString(), Encoding.UTF8, "application/json")
};
return result;
}
#endregion
}