diff --git a/Tiobon.Core.Api/Controllers/Ghre/Ghre_AttachmentController.cs b/Tiobon.Core.Api/Controllers/Ghre/Ghre_AttachmentController.cs
new file mode 100644
index 00000000..b54b5f4d
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghre/Ghre_AttachmentController.cs
@@ -0,0 +1,14 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// 附件(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghre)]
+public class Ghre_AttachmentController : BaseController
+{
+ public Ghre_AttachmentController(IGhre_AttachmentServices service) : base(service)
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Api/Tiobon.Core.Model.xml b/Tiobon.Core.Api/Tiobon.Core.Model.xml
index d7120ab5..10a3e014 100644
--- a/Tiobon.Core.Api/Tiobon.Core.Model.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.Model.xml
@@ -139,6 +139,169 @@
ReverseI2
+
+
+ 附件 (Dto.Base)
+
+
+
+
+ 附件编号
+
+
+
+
+ 附件名称
+
+
+
+
+ 附件名称
+
+
+
+
+ 表名
+
+
+
+
+ 表主键
+
+
+
+
+ 员工ID
+
+
+
+
+ 附件类型
+
+
+
+
+ 附件分组ID
+
+
+
+
+ 附件文件名
+
+
+
+
+ 附件
+
+
+ 附件扩展名
+
+
+
+
+ 附件大小
+
+
+
+
+ 物理路径
+
+
+
+
+ 相对路径
+
+
+
+
+ 缩略图路径
+
+
+
+
+ 文件路径
+
+
+
+
+ 公司ID
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
课程分类 (Dto.Base)
@@ -408,6 +571,11 @@
年级 (Dto.EditInput)
+
+
+ 附件 (Dto.EditInput)
+
+
课程分类 (Dto.EditInput)
@@ -423,6 +591,11 @@
年级 (Dto.InsertInput)
+
+
+ 附件 (Dto.InsertInput)
+
+
课程分类 (Dto.InsertInput)
@@ -734,6 +907,169 @@
ReverseI2
+
+
+ 附件 (Model)
+
+
+
+
+ 附件编号
+
+
+
+
+ 附件名称
+
+
+
+
+ 附件名称
+
+
+
+
+ 表名
+
+
+
+
+ 表主键
+
+
+
+
+ 员工ID
+
+
+
+
+ 附件类型
+
+
+
+
+ 附件分组ID
+
+
+
+
+ 附件文件名
+
+
+
+
+ 附件
+
+
+ 附件扩展名
+
+
+
+
+ 附件大小
+
+
+
+
+ 物理路径
+
+
+
+
+ 相对路径
+
+
+
+
+ 缩略图路径
+
+
+
+
+ 文件路径
+
+
+
+
+ 公司ID
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
课程分类 (Model)
@@ -1852,6 +2188,11 @@
年级(Dto.View)
+
+
+ 附件(Dto.View)
+
+
课程分类(Dto.View)
diff --git a/Tiobon.Core.Api/Tiobon.Core.xml b/Tiobon.Core.Api/Tiobon.Core.xml
index 60522f4a..a7fe6323 100644
--- a/Tiobon.Core.Api/Tiobon.Core.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.xml
@@ -445,6 +445,11 @@
年级(Controller)
+
+
+ 附件(Controller)
+
+
课程分类(Controller)
diff --git a/Tiobon.Core.IServices/Ghre/IGhre_AttachmentServices.cs b/Tiobon.Core.IServices/Ghre/IGhre_AttachmentServices.cs
new file mode 100644
index 00000000..14684e30
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghre/IGhre_AttachmentServices.cs
@@ -0,0 +1,12 @@
+using Tiobon.Core.IServices.BASE;
+using Tiobon.Core.Model.Models;
+
+namespace Tiobon.Core.IServices
+{
+ ///
+ /// 附件(自定义服务接口)
+ ///
+ public interface IGhre_AttachmentServices :IBaseServices
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Model/Base/Ghre/Ghre_Attachment.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghre/Ghre_Attachment.Dto.Base.cs
new file mode 100644
index 00000000..120cf07f
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghre/Ghre_Attachment.Dto.Base.cs
@@ -0,0 +1,210 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_Attachment.cs
+*
+*功 能: N / A
+* 类 名: Ghre_Attachment
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/4/23 16:02:54 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 附件 (Dto.Base)
+ ///
+ public class Ghre_AttachmentBase
+ {
+
+ ///
+ /// 附件编号
+ ///
+ [Display(Name = "AttachmentNo"), Description("附件编号"), MaxLength(100, ErrorMessage = "附件编号 不能超过 100 个字符")]
+ public string AttachmentNo { get; set; }
+
+ ///
+ /// 附件名称
+ ///
+ [Display(Name = "AttachmentName"), Description("附件名称"), MaxLength(200, ErrorMessage = "附件名称 不能超过 200 个字符")]
+ public string AttachmentName { get; set; }
+
+ ///
+ /// 附件名称
+ ///
+ [Display(Name = "AttachmentEname"), Description("附件名称"), MaxLength(500, ErrorMessage = "附件名称 不能超过 500 个字符")]
+ public string AttachmentEname { get; set; }
+
+ ///
+ /// 表名
+ ///
+ [Display(Name = "TableName"), Description("表名"), MaxLength(200, ErrorMessage = "表名 不能超过 200 个字符")]
+ public string TableName { get; set; }
+
+ ///
+ /// 表主键
+ ///
+ public int? TableKeyID { get; set; }
+
+ ///
+ /// 员工ID
+ ///
+ public int? StaffID { get; set; }
+
+ ///
+ /// 附件类型
+ ///
+ [Display(Name = "AttachmentType"), Description("附件类型"), MaxLength(100, ErrorMessage = "附件类型 不能超过 100 个字符")]
+ public string AttachmentType { get; set; }
+
+ ///
+ /// 附件分组ID
+ ///
+ public int? AttachmentGroupID { get; set; }
+
+ ///
+ /// 附件文件名
+ ///
+ [Display(Name = "AttachFileName"), Description("附件文件名"), MaxLength(200, ErrorMessage = "附件文件名 不能超过 200 个字符")]
+ public string AttachFileName { get; set; }
+
+ ///
+ /// 附件
+ ///
+
+ ///
+ /// 附件扩展名
+ ///
+ [Display(Name = "AttachFileExtension"), Description("附件扩展名"), MaxLength(100, ErrorMessage = "附件扩展名 不能超过 100 个字符")]
+ public string AttachFileExtension { get; set; }
+
+ ///
+ /// 附件大小
+ ///
+ public int? AttachFileSize { get; set; }
+
+ ///
+ /// 物理路径
+ ///
+ [Display(Name = "PhysicsPath"), Description("物理路径"), MaxLength(500, ErrorMessage = "物理路径 不能超过 500 个字符")]
+ public string PhysicsPath { get; set; }
+
+ ///
+ /// 相对路径
+ ///
+ [Display(Name = "RelativePath"), Description("相对路径"), MaxLength(500, ErrorMessage = "相对路径 不能超过 500 个字符")]
+ public string RelativePath { get; set; }
+
+ ///
+ /// 缩略图路径
+ ///
+ [Display(Name = "ThumbnailPath"), Description("缩略图路径"), MaxLength(500, ErrorMessage = "缩略图路径 不能超过 500 个字符")]
+ public string ThumbnailPath { get; set; }
+
+ ///
+ /// 文件路径
+ ///
+ [Display(Name = "FileURL"), Description("文件路径"), MaxLength(500, ErrorMessage = "文件路径 不能超过 500 个字符")]
+ public string FileURL { get; set; }
+
+ ///
+ /// 公司ID
+ ///
+ public int? CompanyID { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 排序
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Edit/Ghre/Ghre_Attachment.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghre/Ghre_Attachment.Dto.EditInput.cs
new file mode 100644
index 00000000..4cd42340
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghre/Ghre_Attachment.Dto.EditInput.cs
@@ -0,0 +1,27 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_Attachment.cs
+*
+*功 能: N / A
+* 类 名: Ghre_Attachment
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/4/23 16:02:54 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 附件 (Dto.EditInput)
+ ///
+ public class EditGhre_AttachmentInput : Ghre_AttachmentBase
+ {
+ }
+}
diff --git a/Tiobon.Core.Model/Insert/Ghre/Ghre_Attachment.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghre/Ghre_Attachment.Dto.InsertInput.cs
new file mode 100644
index 00000000..77dee217
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghre/Ghre_Attachment.Dto.InsertInput.cs
@@ -0,0 +1,27 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_Attachment.cs
+*
+*功 能: N / A
+* 类 名: Ghre_Attachment
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/4/23 16:02:54 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 附件 (Dto.InsertInput)
+ ///
+ public class InsertGhre_AttachmentInput : Ghre_AttachmentBase
+ {
+ }
+}
diff --git a/Tiobon.Core.Model/Models/Ghre/Ghre_Attachment.cs b/Tiobon.Core.Model/Models/Ghre/Ghre_Attachment.cs
new file mode 100644
index 00000000..dc3c8451
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghre/Ghre_Attachment.cs
@@ -0,0 +1,212 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_Attachment.cs
+*
+*功 能: N / A
+* 类 名: Ghre_Attachment
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/4/23 16:02:54 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using SqlSugar;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 附件 (Model)
+ ///
+ [SugarTable("Ghre_Attachment", "Ghre_Attachment"), Entity(TableCnName = "附件", TableName = "Ghre_Attachment")]
+ public class Ghre_Attachment : BasePoco
+ {
+
+ ///
+ /// 附件编号
+ ///
+ [Display(Name = "AttachmentNo"), Description("附件编号"), MaxLength(100, ErrorMessage = "附件编号 不能超过 100 个字符")]
+ public string AttachmentNo { get; set; }
+
+ ///
+ /// 附件名称
+ ///
+ [Display(Name = "AttachmentName"), Description("附件名称"), MaxLength(200, ErrorMessage = "附件名称 不能超过 200 个字符")]
+ public string AttachmentName { get; set; }
+
+ ///
+ /// 附件名称
+ ///
+ [Display(Name = "AttachmentEname"), Description("附件名称"), MaxLength(500, ErrorMessage = "附件名称 不能超过 500 个字符")]
+ public string AttachmentEname { get; set; }
+
+ ///
+ /// 表名
+ ///
+ [Display(Name = "TableName"), Description("表名"), MaxLength(200, ErrorMessage = "表名 不能超过 200 个字符")]
+ public string TableName { get; set; }
+
+ ///
+ /// 表主键
+ ///
+ public int? TableKeyID { get; set; }
+
+ ///
+ /// 员工ID
+ ///
+ public int? StaffID { get; set; }
+
+ ///
+ /// 附件类型
+ ///
+ [Display(Name = "AttachmentType"), Description("附件类型"), MaxLength(100, ErrorMessage = "附件类型 不能超过 100 个字符")]
+ public string AttachmentType { get; set; }
+
+ ///
+ /// 附件分组ID
+ ///
+ public int? AttachmentGroupID { get; set; }
+
+ ///
+ /// 附件文件名
+ ///
+ [Display(Name = "AttachFileName"), Description("附件文件名"), MaxLength(200, ErrorMessage = "附件文件名 不能超过 200 个字符")]
+ public string AttachFileName { get; set; }
+
+ ///
+ /// 附件
+ ///
+
+ ///
+ /// 附件扩展名
+ ///
+ [Display(Name = "AttachFileExtension"), Description("附件扩展名"), MaxLength(100, ErrorMessage = "附件扩展名 不能超过 100 个字符")]
+ public string AttachFileExtension { get; set; }
+
+ ///
+ /// 附件大小
+ ///
+ public int? AttachFileSize { get; set; }
+
+ ///
+ /// 物理路径
+ ///
+ [Display(Name = "PhysicsPath"), Description("物理路径"), MaxLength(500, ErrorMessage = "物理路径 不能超过 500 个字符")]
+ public string PhysicsPath { get; set; }
+
+ ///
+ /// 相对路径
+ ///
+ [Display(Name = "RelativePath"), Description("相对路径"), MaxLength(500, ErrorMessage = "相对路径 不能超过 500 个字符")]
+ public string RelativePath { get; set; }
+
+ ///
+ /// 缩略图路径
+ ///
+ [Display(Name = "ThumbnailPath"), Description("缩略图路径"), MaxLength(500, ErrorMessage = "缩略图路径 不能超过 500 个字符")]
+ public string ThumbnailPath { get; set; }
+
+ ///
+ /// 文件路径
+ ///
+ [Display(Name = "FileURL"), Description("文件路径"), MaxLength(500, ErrorMessage = "文件路径 不能超过 500 个字符")]
+ public string FileURL { get; set; }
+
+ ///
+ /// 公司ID
+ ///
+ public int? CompanyID { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 排序
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/View/Ghre/Ghre_Attachment.Dto.View.cs b/Tiobon.Core.Model/View/Ghre/Ghre_Attachment.Dto.View.cs
new file mode 100644
index 00000000..98254676
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghre/Ghre_Attachment.Dto.View.cs
@@ -0,0 +1,27 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_Attachment.cs
+*
+*功 能: N / A
+* 类 名: Ghre_Attachment
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/4/23 16:02:54 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 附件(Dto.View)
+ ///
+ public class Ghre_AttachmentDto : Ghre_Attachment
+ {
+ }
+}
diff --git a/Tiobon.Core.Services/Ghre/Ghre_AttachmentServices.cs b/Tiobon.Core.Services/Ghre/Ghre_AttachmentServices.cs
new file mode 100644
index 00000000..dcbc32ee
--- /dev/null
+++ b/Tiobon.Core.Services/Ghre/Ghre_AttachmentServices.cs
@@ -0,0 +1,21 @@
+
+using Tiobon.Core.IServices;
+using Tiobon.Core.Model.Models;
+using Tiobon.Core.Services.BASE;
+using Tiobon.Core.IRepository.Base;
+
+namespace Tiobon.Core.Services
+{
+ ///
+ /// 附件 (服务)
+ ///
+ public class Ghre_AttachmentServices : BaseServices, IGhre_AttachmentServices
+ {
+ private readonly IBaseRepository _dal;
+ public Ghre_AttachmentServices(IBaseRepository dal)
+ {
+ this._dal = dal;
+ base.BaseDal = dal;
+ }
+ }
+}
\ No newline at end of file