142 lines
6.6 KiB
Plaintext
142 lines
6.6 KiB
Plaintext
@{
|
|
ModelData modelData = Model;
|
|
SysTableSchemaViewEntity[] sysTableSchemas = modelData.sysTableSchemas;
|
|
NamespaceObject namespaceObject = modelData.NamespaceObject;
|
|
}
|
|
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using CloudBuilder.Core.DatabaseAccessor;
|
|
@{
|
|
<text>using </text>@namespaceObject.Assembly.ToString()<text>.Entity;</text>
|
|
<text>using </text>@namespaceObject.Assembly.ToString()<text>.Policy;</text>
|
|
<text>using </text>@namespaceObject.Assembly.ToString()<text>.SearchCriteria;</text>
|
|
}
|
|
|
|
namespace @namespaceObject.Assembly.ToString()@{<text>.Service</text>}
|
|
|
|
{
|
|
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<IRepository<@{@sysTableSchemas[0].TableName.StringToProerty()}Entity>>();
|
|
}
|
|
@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)
|
|
{
|
|
<text>
|
|
[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()!;
|
|
}
|
|
</text>
|
|
}
|
|
}
|
|
}
|
|
else if (@modelData.KeyCount > 1)
|
|
{
|
|
<text>
|
|
[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</text>
|
|
@for (var i = 0; i < sysTableSchemas.Length; i++)
|
|
{
|
|
if (@sysTableSchemas[i].FieldName.ToUpper() == "ID") { continue; }
|
|
|
|
if (@sysTableSchemas[i].Pk > 0)
|
|
{
|
|
<text>
|
|
&& x.@{ @sysTableSchemas[i].FieldName.StringToProerty()} == key.@{ @sysTableSchemas[i].FieldName.StringToProerty()}
|
|
</text>
|
|
}
|
|
}
|
|
<text>
|
|
).FirstOrDefault()!;
|
|
}
|
|
</text>
|
|
}
|
|
|
|
//[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)
|
|
{
|
|
<text>
|
|
[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); }
|
|
}
|
|
</text>
|
|
}
|
|
}
|
|
}
|
|
else if (@modelData.KeyCount > 1)
|
|
{
|
|
<text>
|
|
[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</text>
|
|
@for (var i = 0; i < sysTableSchemas.Length; i++)
|
|
{
|
|
if (@sysTableSchemas[i].FieldName.ToUpper() == "ID") { continue; }
|
|
|
|
if (@sysTableSchemas[i].Pk > 0)
|
|
{
|
|
<text>
|
|
&& x.@{ @sysTableSchemas[i].FieldName.StringToProerty()} == key.@{ @sysTableSchemas[i].FieldName.StringToProerty()}
|
|
</text>
|
|
}
|
|
}
|
|
<text>
|
|
).FirstOrDefault()!;
|
|
if (ent != null) { repository.DeleteNow(ent); }
|
|
}
|
|
</text>
|
|
}
|
|
}
|
|
}
|