@{ ModelData modelData = Model; SysTableSchemaViewEntity[] sysTableSchemas = modelData.sysTableSchemas; NamespaceObject namespaceObject = modelData.NamespaceObject; } using CloudBuilder.Core.DatabaseAccessor.Entity; using Microsoft.AspNetCore.Authorization; using CloudBuilder.Core.DatabaseAccessor; @{ using @namespaceObject.Assembly.ToString().Entity; using @namespaceObject.Assembly.ToString().Policy; using @namespaceObject.Assembly.ToString().SearchCriteria; } namespace @namespaceObject.Assembly.ToString()@{.Service} { public class @sysTableSchemas[0].TableName.StringToProerty()Service : I@{@sysTableSchemas[0].TableName.StringToProerty()}Service { private readonly IApplicationService service; private IRepository<@{@sysTableSchemas[0].TableName.StringToProerty()}Entity> repository; public @{@sysTableSchemas[0].TableName.StringToProerty()}Service(IApplicationService service) { this.service = service; repository = service.GetRepository>(); } @if (@modelData.KeyCount < 2) { @for (var i = 0; i < sysTableSchemas.Length; i++) { if (@sysTableSchemas[i].FieldName.ToUpper() == "ID") { continue; } if (@sysTableSchemas[i].Pk > 0 && @modelData.KeyCount < 2) { [PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Find)] public @{@sysTableSchemas[0].TableName.StringToProerty()}Entity FindByKey(@modelData.KeyType key) { return repository.DetachedEntities.Where(x => x.@{ @sysTableSchemas[i].FieldName.StringToProerty()} == key).FirstOrDefault()!; } } } } else if (@modelData.KeyCount > 1) { [PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Find)] public @{@sysTableSchemas[0].TableName.StringToProerty()}Entity FindByKey(@{@sysTableSchemas[0].TableName.StringToProerty()}EntityKey key) { return repository.DetachedEntities.Where(x => 1==1 @for (var i = 0; i < sysTableSchemas.Length; i++) { if (@sysTableSchemas[i].FieldName.ToUpper() == "ID") { continue; } if (@sysTableSchemas[i].Pk > 0) { && x.@{ @sysTableSchemas[i].FieldName.StringToProerty()} == key.@{ @sysTableSchemas[i].FieldName.StringToProerty()} } } ).FirstOrDefault()!; } } //[PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Find)] public dynamic FindBySearchCriteria(@{@sysTableSchemas[0].TableName.StringToProerty()}SearchCriteria criteria) { throw new NotImplementedException(); } //[PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Print)] public dynamic PrintBySearchCriteria(@{@sysTableSchemas[0].TableName.StringToProerty()}SearchCriteria criteria) { throw new NotImplementedException(); } [PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Insert)] [UnitOfWork] public @{@sysTableSchemas[0].TableName.StringToProerty()}Entity Insert(@{@sysTableSchemas[0].TableName.StringToProerty()}Entity data) { throw new NotImplementedException(); } [PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Update)] [UnitOfWork] public @{@sysTableSchemas[0].TableName.StringToProerty()}Entity Update(@{@sysTableSchemas[0].TableName.StringToProerty()}Entity data) { throw new NotImplementedException(); } @if (@modelData.KeyCount < 2) { @for (var i = 0; i < sysTableSchemas.Length; i++) { if (@sysTableSchemas[i].FieldName.ToUpper() == "ID") { continue; } if (@sysTableSchemas[i].Pk > 0 && @modelData.KeyCount < 2) { [PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Delete)] [UnitOfWork] public void Delete(@modelData.KeyType key) { var ent= repository.DetachedEntities.Where(x => x.@{ @sysTableSchemas[i].FieldName.StringToProerty()} == key).FirstOrDefault()!; if (ent != null) { repository.DeleteNow(ent); } } } } } else if (@modelData.KeyCount > 1) { [PermissionOperate(name: @namespaceObject.Assembly.ToString().Replace(".Service", "").Replace("CloudBuilder.", "").Replace(".", "")PermissionPolicy.@{@sysTableSchemas[0].TableName.StringToProerty()}, operate: Operate.Delete)] public void Delete(@{@sysTableSchemas[0].TableName.StringToProerty()}EntityKey key) { @sysTableSchemas[0].TableName.StringToProerty()Entity ent = repository.DetachedEntities.Where(x => 1==1 @for (var i = 0; i < sysTableSchemas.Length; i++) { if (@sysTableSchemas[i].FieldName.ToUpper() == "ID") { continue; } if (@sysTableSchemas[i].Pk > 0) { && x.@{ @sysTableSchemas[i].FieldName.StringToProerty()} == key.@{ @sysTableSchemas[i].FieldName.StringToProerty()} } } ).FirstOrDefault()!; if (ent != null) { repository.DeleteNow(ent); } } } } }