using Gs.Demo.Modes; using Microsoft.AspNetCore.Mvc; using System.Text; using System.Data.SqlClient; using System.Data; using Gs.Toolbox; using Microsoft.AspNetCore.Authorization; namespace Gs.Demo.Service { [ApiGroup(ApiGroupNames.Demo)] public class Test : IRomteService { /// /// 读学生取列表,支持分页 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetStudentListPage([FromBody] PageQuery model) { int currentPage = model.currentPage; int everyPageSize = model.everyPageSize; string sortName = string.IsNullOrEmpty(model.sortName)? "a.lastEdtTime" : model.sortName; System.Text.StringBuilder sbSql = new StringBuilder(); sbSql.Append("select * from "); sbSql.Append("( "); sbSql.Append("select top 100000 ROW_NUMBER() over(order by " + sortName + " " + model.sortOrder + ") as rowIndex,* from gs_test a where 1=1" + model.keyWhere); sbSql.Append(") as T "); sbSql.Append(" where T.rowindex>(" + currentPage + "-1)*" + everyPageSize + " and T.rowindex<=" + currentPage + "*" + everyPageSize + ""); sbSql.Append(" select count(1) as intTotal from dbo.gs_test a where 1=1 " + model.keyWhere).ToString(); DataSet dset = new DataSet(); try { dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString()); } catch (Exception ex) { Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetStudentListPage error:" + ex.Message); return ReturnDto>.QuickReturn(default(PageList), ReturnCode.Exception, "读取失败"); } PageList _pglist = new PageList { total = 0, everyPageSize = 0, pages = 0, list = new List() }; if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0)//有数据 { int intTotal = int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString()); int pages = (intTotal % everyPageSize != 0) ? (intTotal / everyPageSize + 1) : (intTotal / everyPageSize); _pglist.total = intTotal; _pglist.everyPageSize = everyPageSize; _pglist.pages = pages; foreach (DataRow dr in dset.Tables[0].Rows) { _pglist.list.Add( new Student() { guid = Guid.Parse(dr["guid"].ToString()), name = dr["name"].ToString(), age = int.Parse(dr["age"].ToString()), address = dr["address"].ToString(), sex = int.Parse(dr["sex"].ToString()), card = dr["card"].ToString(), lastEdtTime = DateTime.Parse(dr["lastEdtTime"].ToString()), addTime = DateTime.Parse(dr["addTime"].ToString()), } ); } } return ReturnDto>.QuickReturn(_pglist, ReturnCode.Success, "读取成功"); } /// /// 删除学生 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto DeleteModel([FromBody] Student model) { int rtnInt = (int)ReturnCode.Default; try { rtnInt = DbHelperSQL.ExecuteSql("delete from dbo.gs_test where guid='" + model.guid.ToString() + "'"); } catch (Exception ex) { LogHelper.Debug(this.ToString(), "DeleteStudent error:" + ex.Message); rtnInt = (int)ReturnCode.Exception; } if (rtnInt > 0) return ReturnDto.QuickReturn(default(int?), ReturnCode.Success, "操作成功,共删除" + rtnInt.ToString() + "条数据!"); else return ReturnDto.QuickReturn(default(int?), ReturnCode.Exception, "删除失败,请重试!"); } /// /// 增加学生 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto EditStudent([FromBody] Student model) { Guid? guid = model.guid; string name = model.name; int age = model.age; string address = model.address; int sex = model.sex; string card = model.card; int? rtnInt = (int)ReturnCode.Default; StringBuilder strSql = new StringBuilder(); if (guid == null) { strSql.Append("update dbo.gs_test "); strSql.Append("set name=@name,age=@age,address=@address,sex=@sex,card=@card,addTime=getdate(),lastEdtTime=getdate()"); strSql.Append(" where guid='" + guid + "'"); } else { guid = Guid.NewGuid(); strSql.Append("insert into dbo.gs_test("); strSql.Append(" guid,name,age,address,sex,card,addTime,lastEdtTime)"); strSql.Append(" values ("); strSql.Append("'" + guid + "',@id,@name,@age,@address,@sex,@card,getdate(),getdate())"); } SqlParameter[] parameters = { new SqlParameter("@name", name), new SqlParameter("@age",age), new SqlParameter("@address",address), new SqlParameter("@sex",sex), new SqlParameter("@card",card), }; try { rtnInt = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); } catch (Exception ex) { LogHelper.Debug(this.ToString(), "EditStudent error:" + ex.Message); rtnInt = (int)ReturnCode.Exception; } if (rtnInt > 0) return ReturnDto.QuickReturn(rtnInt, ReturnCode.Success, "增加成功!"); else return ReturnDto.QuickReturn(rtnInt, ReturnCode.Exception, "增加失败,请重试!"); } /// /// 读取学生 /// /// /// [RequestMethod(RequestMethods.GET)] [AllowAnonymous] public ReturnDto GetStudent( Guid guid ) { Student m = new Student(); System.Text.StringBuilder sbSql = new StringBuilder(); sbSql.Append("select top 1 * from dbo.gs_test where 1=1 and guid='" + guid.ToString() + "' "); try { DataSet dset = new DataSet(); dset = DbHelperSQL.Query(sbSql.ToString()); if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) { System.Data.DataRow dr = dset.Tables[0].Rows[0]; m.guid = Guid.Parse(dr["guid"].ToString()); m.name = dr["name"].ToString(); m.age = int.Parse(dr["age"].ToString()); m.address = dr["address"].ToString(); m.sex = int.Parse(dr["sex"].ToString()); m.card = dr["card"].ToString(); m.lastEdtTime = DateTime.Parse(dr["lastEdtTime"].ToString()); m.addTime = DateTime.Parse(dr["addTime"].ToString()); return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); } else return ReturnDto.QuickReturn(m, ReturnCode.Default, "读取失败!"); } catch (Exception ex) { LogHelper.Debug(this.ToString(), "GetModel error:" + ex.Message); return ReturnDto.QuickReturn(m, ReturnCode.Default, "读取失败!"); } } } }