using GZ.EntityFramework.Extended.Extensions; using GZCCC.API.Core; using GZCCC.API.Models; using GZCCC.Common; using GZCCC.Models; using HS.Server.Core; using HS.Server.Core.Models; using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.Http; <#@ import namespace="GZ.CodeGenerate.T4.Model" #> <#@ parameter type="GZ.CodeGenerate.T4.Model.EntityServerPage" name="entity" #> namespace <#= entity.NameSpace#> { public partial class <#= entity.ClassName#>Controller : ApiBase { #region 增删改查 /// /// 分页查询检索条件参数 /// public class p_searchList : ModalAgGridSearchData { } /// /// 查询列表 /// /// [HttpPost] public GZAPIResult SearchList(p_searchList searchData) { var query = entitiesOP.<#= entity.TableName#>.AsNoTracking().Select(s => new { <# foreach(var item in entity.ServerFieldSelectSelect) { #> s.<#= item.FieldName #>, <#; } #> }); foreach (string key in searchData.filterModel.Keys) { string value = searchData.filterModel[key].value; if (String.IsNullOrEmpty(value)) continue; switch (key) { <# foreach(var item in entity.ServerFieldFilter) { #> case nameof(<#= entity.TableName#>.<#= item.FieldName#>): { <# if(item.FilterType==1) {#> query = query.Where(w => w.<#= item.FieldName#>==value); <#; } else if(item.FilterType==2) {#> query = query.Where(w => w.<#= item.FieldName#>.Contains(value)); <#; } #> } break; <#; } #> } } int total = query.Count(); if (searchData.sortModel == null || searchData.sortModel.Count == 0) { <# if(entity.ServerFieldDefaultSort.DefaultSortType==1) { #> query = query.OrderByDescending(o => o.<#= entity.ServerFieldDefaultSort.FieldName#>); <#; } else { #> query = query.OrderBy(o => o.<#= entity.ServerFieldDefaultSort.FieldName#>); <#; } #> } else { var sortData = searchData.sortModel[0]; switch (sortData.colId) { <# foreach(var item in entity.ServerFieldOrder) { #> case nameof(<#= entity.TableName#>.<#= item.FieldName #>): { if (sortData.sort == "asc") query = query.OrderByDescending(o => o.<#= item.FieldName #>); else query = query.OrderBy(o => o.<#= item.FieldName #>); } break; <#; } #> default: { <# if(entity.ServerFieldDefaultSort.DefaultSortType==1) { #> query = query.OrderByDescending(o => o.<#= entity.ServerFieldDefaultSort.FieldName#>); <#; } else { #> query = query.OrderBy(o => o.<#= entity.ServerFieldDefaultSort.FieldName#>); <#; } #> } break; } } var data = query.Skip(searchData.startRow).Take(searchData.rowLength).ToList(); Dictionary dictionary = new Dictionary(); dictionary.Add("total", total); dictionary.Add("data", data); return GZAPISuccess(dictionary); } public class P_Create { <# foreach(var item in entity.ServerFieldAddClassPropertys) { #> public <#= item.TypeName#> <#= item.FieldName#> { get; set; } <#; } #> } // 新增 [HttpPost] public GZAPIResult Create(P_Create data) { List valResult = new List(); //if (String.IsNullOrEmpty(data.OfficeName)) //{ // valResult.Add("XX不能为空"); //} <# foreach(var item in entity.ServerFieldAddValidate) { switch(item.TypeName) { case "int":{ #> if (data.<#= item.FieldName#> == 0) { valResult.Add("<#= item.DisplayText#>不能为空"); } <# ;} break; default: { #> if (String.IsNullOrEmpty(data.<#= item.FieldName#>)) { valResult.Add("<#= item.DisplayText#>不能为空"); } <# ;} break; #> <# } } #> if (valResult.Count > 0) { return GZAPIBadRequest(String.Join(System.Environment.NewLine, valResult)); } using (var trans = entitiesOP.Database.BeginTransaction()) { try { <#= entity.TableName#> newData = new <#= entity.TableName#>() { /* OfficeID = HS.Server.Core.DocNoProvider.DocNoHelper.Intance.getSN(currentUser.ClientID, trans.UnderlyingTransaction as SqlTransaction, d => { d.CustomerSeed = currentUser.ClientID; d.DocHeader = currentUser.ClientID; }), */ <# if(entity.ServerSetValueOnAdd) {#> // 主键 <#= entity.FieldPrimaryKey.FieldName#> = Tools.GUID, <#; } #> <# foreach(var item in entity.ServerFieldAddSetValue) { #> <#= item.FieldName#> = data.<#= item.FieldName#>, <#; } #> }; entitiesOP.<#= entity.TableName#>.Add(newData); entitiesOP.SaveChanges(); trans.Commit(); return GZAPISuccess(newData); } catch (Exception ex) { trans.Rollback(); return GZAPIThrowException(ex); } } } /// /// 获得数据详情 /// /// /// public GZAPIResult GetData(string pk) { var obj = entitiesOP.<#= entity.TableName#>.Where(w => w.<#= entity.FieldPrimaryKey.FieldName#> == pk).Select(s => new { <# foreach(var item in entity.ServerFieldDetailSelect) { #> s.<#= item.FieldName#>, <#; } #> }).FirstOrDefault(); if (obj == null) { return GZAPIBadRequest("数据不存在!"); } return GZAPISuccess(obj); } public class P_Update { <# foreach(var item in entity.ServerFieldUpdateClassPropertys) { #> public <#= item.TypeName#> <#= item.FieldName#> { get; set; } <#; } #> } // 更新数据 [HttpPost] public GZAPIResult Update(P_Update data) { List valResult = new List(); <# foreach(var item in entity.ServerFieldUpdateValidate) { switch(item.TypeName) { case "int":{ #> if (data.<#= item.FieldName#> == 0) { valResult.Add("<#= item.DisplayText#>不能为空"); } <# ;} break; default: { #> if (String.IsNullOrEmpty(data.<#= item.FieldName#>)) { valResult.Add("<#= item.DisplayText#>不能为空"); } <# ;} break; #> <# } } #> if (valResult.Count > 0) { return GZAPIBadRequest(String.Join(System.Environment.NewLine, valResult)); } var obj = entitiesOP.<#= entity.TableName#>.Where(w => w.<#= entity.FieldPrimaryKey.FieldName#> == data.<#= entity.FieldPrimaryKey.FieldName#>).FirstOrDefault(); if (obj == null) { return GZAPISuccess("数据不存在"); } <# foreach(var item in entity.ServerFieldUpdateSetValue) { #> obj.<#= item.FieldName#> = data.<#= item.FieldName#>; <#; } #> entitiesOP.SaveChanges(); return GZAPISuccess(); } /// /// 删除 /// /// /// [HttpGet] public GZAPIResult Delete(string pk) { entitiesOP.<#= entity.TableName#>.Where(w => w.<#= entity.FieldPrimaryKey.FieldName#> == pk).Delete(); return GZAPISuccess(); } #endregion 增删改查 } }