using Dapper; using dccdc.Models; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace dccdc.DAL { public class kcDal { public List GetAllList(string id) { using (IDbConnection conn = CommHelper.GetSqlConnection()) { string sql = "select * from kc where 1=1"; if (!string.IsNullOrEmpty(id)) { sql += " and id=@id"; } return conn.Query(sql, new { @id = id }).ToList(); } } public List GetAllList(string id, string zt) { using (IDbConnection conn = CommHelper.GetSqlConnection()) { string sql = "select * from kc where 1=1"; if (!string.IsNullOrEmpty(id)) { sql += " and id=@id"; } if (!string.IsNullOrEmpty(zt)) { sql += " and zt=@zt"; } return conn.Query(sql, new { @id = id, @zt = zt }).ToList(); } } public List GetListByKey(string key) { using (IDbConnection conn = CommHelper.GetSqlConnection()) { string sql = "select * from kc where 1=1"; if (!string.IsNullOrEmpty(key)) { sql += " and wzmc like @key"; } return conn.Query(sql, new { key = "%" + key + "%" }).ToList(); } } public List GetListByKey(string key,string sign) { using (IDbConnection conn = CommHelper.GetSqlConnection()) { string sql = "select * from kc where 1=1"; if (!string.IsNullOrEmpty(key)) { sql += " and wzmc like @key"; } if (!string.IsNullOrEmpty(sign)) { sql += " and sign = @sign"; } return conn.Query(sql, new { key = "%" + key + "%", sign = sign }).ToList(); } } public object save(kcModel model) { string sql = ""; if (model.id == 0) { sql = @"INSERT INTO [dbo].[kc] ([wzid] ,[wzmc] ,[sl] ,[czsj] ,[sign]) VALUES (@wzid ,@wzmc ,@sl ,@czsj ,@sign)"; } else { sql = @"UPDATE [dbo].[kc] SET [wzid] = @wzid ,[wzmc] = @wzmc ,[sl] = @sl ,[czsj] = @czsj ,[sign] = @sign WHERE id=@id"; } using (IDbConnection conn = CommHelper.GetSqlConnection()) { try { int result = conn.Execute(sql, model); if (result > 0) return new { State = 1, Message = "保存成功!" }; else return new { State = 0, Message = "保存失败!" }; } catch (Exception ex) { return new { State = 0, Message = ex.Message }; } } } public object saveList(List models) { string sql1 = @"INSERT INTO [dbo].[kc] ([wzid] ,[wzmc] ,[sl] ,[czsj] ,[sign]) VALUES (@wzid ,@wzmc ,@sl ,@czsj ,@sign)"; string sql2 = @"UPDATE [dbo].[kc] SET [wzid] = @wzid ,[wzmc] = @wzmc ,[sl] = @sl ,[czsj] = @czsj ,[sign] = @sign WHERE id=@id"; List models1 = new List(); List models2 = new List(); List haves; StringBuilder sqlhave=new StringBuilder(); sqlhave.Append("select * from kc where wzid = -1 and sign = -1"); foreach (kcModel model in models) { sqlhave.Append(" union "); sqlhave.Append("select * from kc where wzid = " + model.wzid + " and sign = " + model.sign); } using (IDbConnection conn = CommHelper.GetSqlConnection()) { try { haves = conn.Query(sqlhave.ToString()).ToList(); } catch (Exception ex) { return new { State = 0, Message = ex.Message }; } } bool havee; foreach (kcModel model in models) { havee = false; foreach (kcModel have in haves) { if (have.wzid == model.wzid && have.sign == model.sign) { have.sl += model.sl; models2.Add(have); havee = true; break; } } if (!havee) models1.Add(model); } using (IDbConnection conn = CommHelper.GetSqlConnection()) { try { int result1 = conn.Execute(sql1, models1); int result2 = conn.Execute(sql2, models2); if (result1 + result2 > 0) return new { State = 1, Message = "保存成功!" }; else return new { State = 0, Message = "保存失败!" }; } catch (Exception ex) { return new { State = 0, Message = ex.Message }; } } } public object delete(string id) { string sql = "delete from kc where id=@id"; using (IDbConnection conn = CommHelper.GetSqlConnection()) { try { int result = conn.Execute(sql, new { id = id }); if (result > 0) return new { State = 1, Message = "操作成功!" }; else return new { State = 0, Message = "操作失败!" }; } catch (Exception ex) { return new { State = 0, Message = ex.Message }; } } } public int getCount(string key) { string sql = "select count(1) from dbo.kc where 1=1"; if (!string.IsNullOrEmpty(key)) { sql += " and wzmc like @key"; } using (IDbConnection conn = CommHelper.GetSqlConnection()) { return conn.ExecuteScalar(sql, new { key = "%" + key + "%" }); } } public List getPage(int page, int pagesize, string key) { string sql = "select *,row_number() over(order by id) as rownum from kc where 1=1"; if (!string.IsNullOrEmpty(key)) { sql += " and wzmc like @key"; } sql = "select * from (" + sql + ") t where t.rownum>(" + page + "-1)*" + pagesize + " and rownum<=" + page + "*" + pagesize; using (IDbConnection conn = CommHelper.GetSqlConnection()) { return conn.Query(sql, new { key = "%" + key + "%" }).ToList(); } } public int getCount(string key, string sign) { string sql = "select count(1) from dbo.kc where 1=1"; if (!string.IsNullOrEmpty(key)) { sql += " and wzmc like @key"; } if (!string.IsNullOrEmpty(sign)) { sql += " and sign like @sign"; } using (IDbConnection conn = CommHelper.GetSqlConnection()) { return conn.ExecuteScalar(sql, new { key = "%" + key + "%", sign = "%" + sign + "%" }); } } public List getPage(int page, int pagesize, string key, string sign) { string sql = "select *,row_number() over(order by id) as rownum from kc where 1=1"; if (!string.IsNullOrEmpty(key)) { sql += " and wzmc like @key"; } if (!string.IsNullOrEmpty(sign)) { sql += " and sign like @sign"; } sql = "select * from (" + sql + ") t where t.rownum>(" + page + "-1)*" + pagesize + " and rownum<=" + page + "*" + pagesize; using (IDbConnection conn = CommHelper.GetSqlConnection()) { return conn.Query(sql, new { key = "%" + key + "%", sign = "%" + sign + "%" }).ToList(); } } } }