IStation.Application.SqiAirp/00-core/1-mapper/Mapper.cs
@@ -29,6 +29,14 @@ #endregion #region 3-certificate config.ForType<AddCertificateInput, Model.Certificate>(); config.ForType<UpdateCertificateInput, Model.Certificate>(); config.ForType<Model.Certificate, CertificateDto>(); #endregion } } IStation.Application.SqiAirp/03-certificate/1-mgr/Certificate_Controller.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,137 @@ namespace IStation.Application { /// <summary> /// Certificate /// </summary> [Route("SQI/Certificate")] [ApiDescriptionSettings("SQI", Name = "è¯ä¹¦", Order = 80000)] public class Certificate_Controller : IDynamicApiController { private readonly Service.Certificate _service = new(); #region Query /// <summary> /// è·åææ /// </summary> [Route("GetAll@V1.0")] [HttpGet] public List<CertificateDto> GetAll() { var list = _service.GetAll(); var vm_list = list?.Select(x => new CertificateDto(x)).ToList(); return vm_list; } /// <summary> /// éè¿ ID è·å /// </summary> [Route("GetByID@V1.0")] [HttpGet] public CertificateDto GetByID([FromQuery][Required] IDInput input) { var model = _service.GetByID(input.ID); return model == null ? null : new CertificateDto(model); } /// <summary> /// éè¿ Ids è·å /// </summary> [Route("GetByIds@V1.0")] [HttpGet] public List<CertificateDto> GetByIds([FromQuery][Required] IdsInput input) { var ids = LongListHelper.ToList(input.Ids); var list = _service.GetByIds(ids); var vm_list = list?.Select(x => new CertificateDto(x)).ToList(); return vm_list; } #endregion #region Insert /// <summary> /// æå ¥ä¸æ¡ â /// </summary> [Route("Insert@V1.0")] [HttpPost] public long Insert([Required] AddCertificateInput input) { var model = input.Adapt<AddCertificateInput, Model.Certificate>(); model.SortCode = _service.GetMaxSortCode() + 1; var id = _service.Insert(model); return id; } #endregion #region Update /// <summary> /// æ´æ°ä¸æ¡ /// </summary> [Route("Update@V1.0")] [HttpPut] public bool Update([Required] UpdateCertificateInput input) { var model = _service.GetByID(input.ID); if (model == null) { throw new ApiException(eResultCode.Alert, ErrorCodes.D001, $"ID:{input.ID} æ°æ®ä¸åå¨"); } var rhs = new Model.Certificate(model); input.Adapt(rhs); var bol = _service.Update(rhs); return bol; } /// <summary> /// æ´æ°æåºç /// </summary> [Route("UpdateSortCode@V1.0")] [HttpPut] public bool UpdateSortCode([Required] UpdateSortCodeInput input) { var bol = _service.UpdateSortCode(input.ID, input.SortCode); return bol; } /// <summary> /// æ´æ°æåº /// </summary> [Route("UpdateSorter@V1.0")] [HttpPut] public bool UpdateSorter([Required] List<UpdateSortCodeInput> input) { var list = input.Select(x => x.Adapt<UpdateSortCodeInput, Yw.Model.Sorter>()).ToList(); var bol = _service.UpdateSorter(list); return bol; } #endregion #region Delete /// <summary> /// å é¤ /// </summary> [Route("DeleteByID@V1.0")] [HttpDelete] public bool DeleteByID([FromQuery][Required] IDInput input) { var bol = _service.DeleteByID(input.ID, out string Msg); if (!bol) { throw new ApiException(eResultCode.Alert, ErrorCodes.D999, Msg); } return bol; } #endregion } } IStation.Application.SqiAirp/03-certificate/1-mgr/dto/AddCertificateInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,60 @@ namespace IStation.Application { /// <summary> /// /// </summary> public class AddCertificateInput { /// <summary> /// ç产ä¼ä¸åç§° /// </summary> public string ManufacturerName { get; set; } /// <summary> /// ç¨æ·åç§° /// </summary> public string UseName { get; set; } /// <summary> /// è¯ä¹¦ç¼å· /// </summary> public string CertificateNO { get; set; } /// <summary> /// å缩空æ°ç«åç§° /// </summary> public string CertificateName { get; set; } /// <summary> /// 主è¦è®¾å¤åå· /// </summary> public string MainEquipmentModels { get; set; } /// <summary> /// è½æç级 /// </summary> public string EtaLevel { get; set; } /// <summary> /// æ£æµåä½åç§° /// </summary> public string TestingUnitName { get; set; } /// <summary> /// åè¯åä½åç§° /// </summary> public string IssuingUnitName { get; set; } /// <summary> /// åè¯æ¥æ /// </summary> public DateTime IssuanceDay { get; set; } /// <summary> /// 说æ /// </summary> public string Description { get; set; } } } IStation.Application.SqiAirp/03-certificate/1-mgr/dto/CertificateDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ namespace IStation.Application { /// <summary> /// /// </summary> public class CertificateDto { /// <summary> /// /// </summary> public CertificateDto() { } /// <summary> /// /// </summary> public CertificateDto(Model.Certificate rhs) { this.ID = rhs.ID; this.ManufacturerName = rhs.ManufacturerName; this.UseName = rhs.UseName; this.CertificateNO = rhs.CertificateNO; this.AirpSiteName = rhs.AirpSiteName; this.MainEquipmentModels = rhs.MainEquipmentModels; this.EtaLevel = rhs.EtaLevel; this.TestingUnitName = rhs.TestingUnitName; this.IssuingUnitName = rhs.IssuingUnitName; this.IssuanceDay = rhs.IssuanceDay; this.SortCode = rhs.SortCode; this.Description = rhs.Description; } /// <summary> /// id /// </summary> public long ID { get; set; } /// <summary> /// ç产ä¼ä¸åç§° /// </summary> public string ManufacturerName { get; set; } /// <summary> /// ç¨æ·åç§° /// </summary> public string UseName { get; set; } /// <summary> /// è¯ä¹¦ç¼å· /// </summary> public string CertificateNO { get; set; } /// <summary> /// å缩空æ°ç«åç§° /// </summary> public string AirpSiteName { get; set; } /// <summary> /// 主è¦è®¾å¤åå· /// </summary> public string MainEquipmentModels { get; set; } /// <summary> /// è½æç级 /// </summary> public string EtaLevel { get; set; } /// <summary> /// æ£æµåä½åç§° /// </summary> public string TestingUnitName { get; set; } /// <summary> /// åè¯åä½åç§° /// </summary> public string IssuingUnitName { get; set; } /// <summary> /// åè¯æ¥æ /// </summary> public DateTime IssuanceDay { get; set; } /// <summary> /// æåºç /// </summary> public int SortCode { get; set; } /// <summary> /// 说æ /// </summary> public string Description { get; set; } } } IStation.Application.SqiAirp/03-certificate/1-mgr/dto/UpdateCertificateInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ namespace IStation.Application { /// <summary> /// /// </summary> public class UpdateCertificateInput { /// <summary> /// id /// </summary> [Required, Range(1, long.MaxValue, ErrorMessage = "ID å¿ é¡»å¤§äº0")] public long ID { get; set; } /// <summary> /// ç产ä¼ä¸åç§° /// </summary> public string ManufacturerName { get; set; } /// <summary> /// ç¨æ·åç§° /// </summary> public string UseName { get; set; } /// <summary> /// è¯ä¹¦ç¼å· /// </summary> public string CertificateNO { get; set; } /// <summary> /// å缩空æ°ç«åç§° /// </summary> public string CertificateName { get; set; } /// <summary> /// 主è¦è®¾å¤åå· /// </summary> public string MainEquipmentModels { get; set; } /// <summary> /// è½æç级 /// </summary> public string EtaLevel { get; set; } /// <summary> /// æ£æµåä½åç§° /// </summary> public string TestingUnitName { get; set; } /// <summary> /// åè¯åä½åç§° /// </summary> public string IssuingUnitName { get; set; } /// <summary> /// åè¯æ¥æ /// </summary> public DateTime IssuanceDay { get; set; } /// <summary> /// 说æ /// </summary> public string Description { get; set; } } } IStation.Application.SqiAirp/03-certificate/2-std/AirpSite_StdController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ namespace IStation.Application { /// <summary> /// Certificate /// </summary> [Route("SQI/Certificate/Std")] [ApiDescriptionSettings("SQI", Name = "è¯ä¹¦(Std)", Order = 79900)] public class Certificate_StdController : IDynamicApiController { /// <summary> /// è·åææ /// </summary> [Route("GetAll@V1.0")] [HttpGet] public List<CertificateStdDto> GetAll() { var keyContent = $"SQI_Certificate_Std_GetAll"; var cacheKey = $"{MemoryCacheKeyHelper.GetPrefix(MemoryCacheKey.WebApiLevel, MemoryCacheKey.Module)}_{keyContent}"; var vm_list = MemoryCacheHelper.GetSet(cacheKey, () => { var allList = new Service.Certificate().GetAll(); var vmList = allList?.Select(x => new CertificateStdDto(x)).ToList(); return vmList; }, CacheHelper.CacheLevel5); return vm_list; } } } IStation.Application.SqiAirp/03-certificate/2-std/dto/CertificateStdDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ namespace IStation.Application { /// <summary> /// /// </summary> public class CertificateStdDto { /// <summary> /// /// </summary> public CertificateStdDto() { } /// <summary> /// /// </summary> public CertificateStdDto(Model.Certificate rhs) { this.ID = rhs.ID; this.ManufacturerName = rhs.ManufacturerName; this.UseName = rhs.UseName; this.CertificateNO = rhs.CertificateNO; this.AirpSiteName = rhs.AirpSiteName; this.MainEquipmentModels = rhs.MainEquipmentModels; this.EtaLevel = rhs.EtaLevel; this.TestingUnitName = rhs.TestingUnitName; this.IssuingUnitName = rhs.IssuingUnitName; this.IssuanceDay = rhs.IssuanceDay; this.SortCode = rhs.SortCode; this.Description = rhs.Description; } /// <summary> /// id /// </summary> public long ID { get; set; } /// <summary> /// ç产ä¼ä¸åç§° /// </summary> public string ManufacturerName { get; set; } /// <summary> /// ç¨æ·åç§° /// </summary> public string UseName { get; set; } /// <summary> /// è¯ä¹¦ç¼å· /// </summary> public string CertificateNO { get; set; } /// <summary> /// å缩空æ°ç«åç§° /// </summary> public string AirpSiteName { get; set; } /// <summary> /// 主è¦è®¾å¤åå· /// </summary> public string MainEquipmentModels { get; set; } /// <summary> /// è½æç级 /// </summary> public string EtaLevel { get; set; } /// <summary> /// æ£æµåä½åç§° /// </summary> public string TestingUnitName { get; set; } /// <summary> /// åè¯åä½åç§° /// </summary> public string IssuingUnitName { get; set; } /// <summary> /// åè¯æ¥æ /// </summary> public DateTime IssuanceDay { get; set; } /// <summary> /// æåºç /// </summary> public int SortCode { get; set; } /// <summary> /// 说æ /// </summary> public string Description { get; set; } } } IStation.Application.SqiAirp/IStation.Application.SqiAirp.csproj
@@ -25,7 +25,7 @@ </ItemGroup> <ItemGroup> <PackageReference Include="Yw.Application.Core" Version="1.2.1" /> <PackageReference Include="Yw.Application.Core" Version="1.2.2" /> </ItemGroup> <ItemGroup> IStation.Entry.SqiAirp/IStation.Entry.SqiAirp.csproj
@@ -21,7 +21,7 @@ <PackageReference Include="Yw.Application.Assets.Core" Version="1.1.5" /> <PackageReference Include="Yw.Application.Basic.Core" Version="1.1.4" /> <PackageReference Include="Yw.Application.Dict.Core" Version="1.0.4" /> <PackageReference Include="Yw.Application.Monitor.Core" Version="1.4.4" /> <PackageReference Include="Yw.Application.Monitor.Core" Version="1.4.6" /> <PackageReference Include="Yw.Application.Unit.Core" Version="1.0.5" /> </ItemGroup> IStation.Entry.SqiAirp/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,6 +5,6 @@ <Project> <PropertyGroup> <_PublishTargetUrl>D:\WorkData\git\istation\SqiAirp\IStation.Entry.SqiAirp\bin\Release\net6.0\publish\</_PublishTargetUrl> <History>True|2023-10-19T01:56:48.5150728Z;True|2023-10-18T14:59:01.0684811+08:00;True|2023-10-17T16:12:58.7322358+08:00;True|2023-10-07T12:25:54.8757007+08:00;True|2023-10-07T12:13:15.0880517+08:00;True|2023-10-07T12:12:39.1803333+08:00;True|2023-10-07T12:02:22.4047422+08:00;True|2023-09-26T15:07:05.5606369+08:00;True|2023-09-25T16:53:00.5107971+08:00;True|2023-09-25T16:49:56.9145285+08:00;True|2023-09-25T14:28:29.4414039+08:00;True|2023-09-25T11:19:00.8735501+08:00;True|2023-09-21T13:54:19.1780900+08:00;True|2023-09-21T13:16:00.2957740+08:00;True|2023-09-21T11:28:36.3091944+08:00;True|2023-09-21T11:18:20.1060798+08:00;True|2023-09-13T16:00:49.4080881+08:00;True|2023-09-11T13:53:38.8582724+08:00;True|2023-09-01T10:32:37.4923361+08:00;True|2023-08-30T16:52:43.1952609+08:00;True|2023-08-30T13:41:35.0430741+08:00;True|2023-08-28T14:53:24.2454140+08:00;True|2023-08-28T13:50:55.9362462+08:00;True|2023-08-28T10:00:17.0366755+08:00;True|2023-08-25T15:41:23.8727088+08:00;True|2023-08-24T16:47:54.1391198+08:00;True|2023-08-24T16:40:29.0473991+08:00;True|2023-08-22T15:02:27.5312918+08:00;True|2023-08-22T11:18:43.6918732+08:00;True|2023-08-21T15:10:42.9223597+08:00;True|2023-08-21T14:21:08.1887373+08:00;True|2023-08-21T11:56:07.5304445+08:00;True|2023-08-18T16:57:57.0506312+08:00;True|2023-08-18T13:51:54.9145260+08:00;True|2023-08-17T14:52:44.6557301+08:00;True|2023-08-17T14:15:19.8255432+08:00;True|2023-08-17T14:03:01.1586247+08:00;True|2023-08-17T11:46:51.6685579+08:00;True|2023-08-16T11:12:27.1684542+08:00;True|2023-08-15T16:59:09.4901359+08:00;True|2023-08-10T14:08:04.8032876+08:00;True|2023-08-10T13:55:01.9698355+08:00;True|2023-08-10T10:43:44.0440039+08:00;True|2023-08-10T10:12:03.9359243+08:00;True|2023-08-09T15:07:46.6906781+08:00;True|2023-08-09T13:12:06.7912004+08:00;True|2023-08-09T10:23:24.5864225+08:00;True|2023-08-08T17:38:10.4753030+08:00;True|2023-08-08T12:56:08.9783211+08:00;True|2023-08-06T09:18:33.3703637+08:00;True|2023-08-03T11:01:58.9814864+08:00;True|2023-08-03T10:26:08.4681748+08:00;True|2023-08-02T20:33:35.0425049+08:00;True|2023-08-02T17:31:18.4675932+08:00;True|2023-08-02T16:04:16.8761862+08:00;True|2023-08-02T13:48:38.9129192+08:00;True|2023-08-02T13:45:00.6546267+08:00;True|2023-08-01T15:26:25.0389689+08:00;True|2023-08-01T14:08:10.9121758+08:00;True|2023-07-31T13:35:10.1220213+08:00;True|2023-07-31T09:20:11.2607880+08:00;True|2023-07-28T13:44:35.4317136+08:00;True|2023-07-27T10:40:46.5453757+08:00;True|2023-07-27T09:16:57.7421426+08:00;True|2023-07-26T17:10:56.0976913+08:00;True|2023-07-26T12:01:33.5766311+08:00;True|2023-07-25T18:07:38.5726960+08:00;True|2023-07-25T17:42:39.3625959+08:00;True|2023-07-25T17:04:09.8723273+08:00;True|2023-07-25T16:28:14.1819137+08:00;True|2023-07-24T14:11:28.2113907+08:00;True|2023-07-24T12:05:09.0376032+08:00;True|2023-07-24T09:36:39.6541522+08:00;True|2023-07-19T12:25:56.9887829+08:00;True|2023-07-17T13:00:04.0123733+08:00;True|2023-07-13T12:13:14.7927242+08:00;True|2023-07-13T11:46:24.1368807+08:00;True|2023-07-13T10:24:33.1684712+08:00;True|2023-06-26T11:38:29.6648988+08:00;True|2023-06-21T16:17:40.6226554+08:00;True|2023-06-21T13:30:18.8163322+08:00;True|2023-06-21T13:19:43.9290154+08:00;True|2023-06-21T11:35:28.3376504+08:00;</History> <History>True|2023-10-21T02:11:24.4036360Z;False|2023-10-21T10:06:43.5864769+08:00;True|2023-10-20T19:00:14.6068195+08:00;True|2023-10-20T18:36:10.4611497+08:00;True|2023-10-19T09:56:48.5150728+08:00;True|2023-10-18T14:59:01.0684811+08:00;True|2023-10-17T16:12:58.7322358+08:00;True|2023-10-07T12:25:54.8757007+08:00;True|2023-10-07T12:13:15.0880517+08:00;True|2023-10-07T12:12:39.1803333+08:00;True|2023-10-07T12:02:22.4047422+08:00;True|2023-09-26T15:07:05.5606369+08:00;True|2023-09-25T16:53:00.5107971+08:00;True|2023-09-25T16:49:56.9145285+08:00;True|2023-09-25T14:28:29.4414039+08:00;True|2023-09-25T11:19:00.8735501+08:00;True|2023-09-21T13:54:19.1780900+08:00;True|2023-09-21T13:16:00.2957740+08:00;True|2023-09-21T11:28:36.3091944+08:00;True|2023-09-21T11:18:20.1060798+08:00;True|2023-09-13T16:00:49.4080881+08:00;True|2023-09-11T13:53:38.8582724+08:00;True|2023-09-01T10:32:37.4923361+08:00;True|2023-08-30T16:52:43.1952609+08:00;True|2023-08-30T13:41:35.0430741+08:00;True|2023-08-28T14:53:24.2454140+08:00;True|2023-08-28T13:50:55.9362462+08:00;True|2023-08-28T10:00:17.0366755+08:00;True|2023-08-25T15:41:23.8727088+08:00;True|2023-08-24T16:47:54.1391198+08:00;True|2023-08-24T16:40:29.0473991+08:00;True|2023-08-22T15:02:27.5312918+08:00;True|2023-08-22T11:18:43.6918732+08:00;True|2023-08-21T15:10:42.9223597+08:00;True|2023-08-21T14:21:08.1887373+08:00;True|2023-08-21T11:56:07.5304445+08:00;True|2023-08-18T16:57:57.0506312+08:00;True|2023-08-18T13:51:54.9145260+08:00;True|2023-08-17T14:52:44.6557301+08:00;True|2023-08-17T14:15:19.8255432+08:00;True|2023-08-17T14:03:01.1586247+08:00;True|2023-08-17T11:46:51.6685579+08:00;True|2023-08-16T11:12:27.1684542+08:00;True|2023-08-15T16:59:09.4901359+08:00;True|2023-08-10T14:08:04.8032876+08:00;True|2023-08-10T13:55:01.9698355+08:00;True|2023-08-10T10:43:44.0440039+08:00;True|2023-08-10T10:12:03.9359243+08:00;True|2023-08-09T15:07:46.6906781+08:00;True|2023-08-09T13:12:06.7912004+08:00;True|2023-08-09T10:23:24.5864225+08:00;True|2023-08-08T17:38:10.4753030+08:00;True|2023-08-08T12:56:08.9783211+08:00;True|2023-08-06T09:18:33.3703637+08:00;True|2023-08-03T11:01:58.9814864+08:00;True|2023-08-03T10:26:08.4681748+08:00;True|2023-08-02T20:33:35.0425049+08:00;True|2023-08-02T17:31:18.4675932+08:00;True|2023-08-02T16:04:16.8761862+08:00;True|2023-08-02T13:48:38.9129192+08:00;True|2023-08-02T13:45:00.6546267+08:00;True|2023-08-01T15:26:25.0389689+08:00;True|2023-08-01T14:08:10.9121758+08:00;True|2023-07-31T13:35:10.1220213+08:00;True|2023-07-31T09:20:11.2607880+08:00;True|2023-07-28T13:44:35.4317136+08:00;True|2023-07-27T10:40:46.5453757+08:00;True|2023-07-27T09:16:57.7421426+08:00;True|2023-07-26T17:10:56.0976913+08:00;True|2023-07-26T12:01:33.5766311+08:00;True|2023-07-25T18:07:38.5726960+08:00;True|2023-07-25T17:42:39.3625959+08:00;True|2023-07-25T17:04:09.8723273+08:00;True|2023-07-25T16:28:14.1819137+08:00;True|2023-07-24T14:11:28.2113907+08:00;True|2023-07-24T12:05:09.0376032+08:00;True|2023-07-24T09:36:39.6541522+08:00;True|2023-07-19T12:25:56.9887829+08:00;True|2023-07-17T13:00:04.0123733+08:00;True|2023-07-13T12:13:14.7927242+08:00;True|2023-07-13T11:46:24.1368807+08:00;True|2023-07-13T10:24:33.1684712+08:00;True|2023-06-26T11:38:29.6648988+08:00;True|2023-06-21T16:17:40.6226554+08:00;True|2023-06-21T13:30:18.8163322+08:00;True|2023-06-21T13:19:43.9290154+08:00;True|2023-06-21T11:35:28.3376504+08:00;</History> </PropertyGroup> </Project> IStation.Service.SqiAirp/1-entity/03-certificate/Certificate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,101 @@ namespace IStation.Entity { /// <summary> /// è¯ä¹¦ /// </summary> [SugarTable("certificate")] public class Certificate : Yw.Entity.BaseEntity, Yw.Entity.ISorter, System.ICloneable { /// <summary> /// /// </summary> public Certificate() { } /// <summary> /// /// </summary> public Certificate(Certificate rhs) : base(rhs) { this.ManufacturerName = rhs.ManufacturerName; this.UseName = rhs.UseName; this.CertificateNO = rhs.CertificateNO; this.AirpSiteName = rhs.AirpSiteName; this.MainEquipmentModels = rhs.MainEquipmentModels; this.EtaLevel = rhs.EtaLevel; this.TestingUnitName = rhs.TestingUnitName; this.IssuingUnitName = rhs.IssuingUnitName; this.IssuanceDay = rhs.IssuanceDay; this.SortCode = rhs.SortCode; this.Description = rhs.Description; } /// <summary> /// ç产ä¼ä¸åç§° /// </summary> public string ManufacturerName { get; set; } /// <summary> /// ç¨æ·åç§° /// </summary> public string UseName { get; set; } /// <summary> /// è¯ä¹¦ç¼å· /// </summary> public string CertificateNO { get; set; } /// <summary> /// å缩空æ°ç«åç§° /// </summary> public string AirpSiteName { get; set; } /// <summary> /// 主è¦è®¾å¤åå· /// </summary> public string MainEquipmentModels { get; set; } /// <summary> /// è½æç级 /// </summary> public string EtaLevel { get; set; } /// <summary> /// æ£æµåä½åç§° /// </summary> public string TestingUnitName { get; set; } /// <summary> /// åè¯åä½åç§° /// </summary> public string IssuingUnitName { get; set; } /// <summary> /// åè¯æ¥æ /// </summary> public DateTime IssuanceDay { get; set; } /// <summary> /// æåºç /// </summary> public int SortCode { get; set; } /// <summary> /// 说æ /// </summary> public string Description { get; set; } /// <summary> /// /// </summary> public Certificate Clone() { return (Certificate)this.MemberwiseClone(); } object ICloneable.Clone() { return this.MemberwiseClone(); } } } IStation.Service.SqiAirp/2-model/03-certificate/Certificate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,119 @@ namespace IStation.Model { /// <summary> /// è¯ä¹¦ /// </summary> public class Certificate : Yw.Model.BaseModel, System.ICloneable { /// <summary> /// /// </summary> public Certificate() { } /// <summary> /// /// </summary> public Certificate(Certificate rhs) : base(rhs) { this.ManufacturerName = rhs.ManufacturerName; this.UseName = rhs.UseName; this.CertificateNO = rhs.CertificateNO; this.AirpSiteName = rhs.AirpSiteName; this.MainEquipmentModels = rhs.MainEquipmentModels; this.EtaLevel = rhs.EtaLevel; this.TestingUnitName = rhs.TestingUnitName; this.IssuingUnitName = rhs.IssuingUnitName; this.IssuanceDay = rhs.IssuanceDay; this.SortCode = rhs.SortCode; this.Description = rhs.Description; } /// <summary> /// /// </summary> public void Reset(Certificate rhs) { this.ID = rhs.ID; this.ManufacturerName = rhs.ManufacturerName; this.UseName = rhs.UseName; this.CertificateNO = rhs.CertificateNO; this.AirpSiteName = rhs.AirpSiteName; this.MainEquipmentModels = rhs.MainEquipmentModels; this.EtaLevel = rhs.EtaLevel; this.TestingUnitName = rhs.TestingUnitName; this.IssuingUnitName = rhs.IssuingUnitName; this.IssuanceDay = rhs.IssuanceDay; this.SortCode = rhs.SortCode; this.Description = rhs.Description; } /// <summary> /// ç产ä¼ä¸åç§° /// </summary> public string ManufacturerName { get; set; } /// <summary> /// ç¨æ·åç§° /// </summary> public string UseName { get; set; } /// <summary> /// è¯ä¹¦ç¼å· /// </summary> public string CertificateNO { get; set; } /// <summary> /// å缩空æ°ç«åç§° /// </summary> public string AirpSiteName { get; set; } /// <summary> /// 主è¦è®¾å¤åå· /// </summary> public string MainEquipmentModels { get; set; } /// <summary> /// è½æç级 /// </summary> public string EtaLevel { get; set; } /// <summary> /// æ£æµåä½åç§° /// </summary> public string TestingUnitName { get; set; } /// <summary> /// åè¯åä½åç§° /// </summary> public string IssuingUnitName { get; set; } /// <summary> /// åè¯æ¥æ /// </summary> public DateTime IssuanceDay { get; set; } /// <summary> /// æåºç /// </summary> public int SortCode { get; set; } /// <summary> /// 说æ /// </summary> public string Description { get; set; } /// <summary> /// /// </summary> public Certificate Clone() { return new Certificate(this); } object ICloneable.Clone() { return this.Clone(); } } } IStation.Service.SqiAirp/4-dal/03-certificate/Certificate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ namespace IStation.DAL { /// <summary> /// è¯ä¹¦ /// </summary> public partial class Certificate : Yw.DAL.BaseDAL_Sorter<Entity.Certificate> { /// <summary> /// /// </summary> public override ConnectionConfig ConnectionConfig { get { return ConfigHelper.DefaultConnectionConfig; } } } } IStation.Service.SqiAirp/5-service/03-certificate/Cache/CertificateCacheHelper.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ namespace IStation.Service { /// <summary> /// Certificate /// ç¼åè¾ å©ç±» /// </summary> internal class CertificateCacheHelper { private const string _contentKey = "CertificateList"; private static string GetCacheKey() { return CacheHelper.GetCacheKey(_contentKey); } /// <summary> /// 设置ç¼å /// </summary> public static void Set(List<Model.Certificate> list, int Minites = 30, int RandomSeconds = 0) { var cacheKey = GetCacheKey(); MemoryCacheHelper.Set(cacheKey, list, Minites * 60 + RandomSeconds); } /// <summary> /// è·åç¼å /// </summary> /// <returns></returns> public static List<Model.Certificate> Get() { var cacheKey = GetCacheKey(); return MemoryCacheHelper.Get<List<Model.Certificate>>(cacheKey); } /// <summary> /// è·å设置ç¼å /// </summary> public static List<Model.Certificate> GetSet(Func<List<Model.Certificate>> func, int Minites = 30, int RandomSeconds = 0) { var cacheKey = GetCacheKey(); return MemoryCacheHelper.GetSet(cacheKey, func, Minites * 60 + RandomSeconds); } /// <summary> /// ç§»é¤ç¼å /// </summary> public static void Remove() { var cacheKey = GetCacheKey(); MemoryCacheHelper.Remove(cacheKey); } } } IStation.Service.SqiAirp/5-service/03-certificate/Certificate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,251 @@ namespace IStation.Service { /// <summary> /// è¯ä¹¦ /// </summary> public partial class Certificate { #region Cache //è·åç¼å private static List<Model.Certificate> GetCache() { var all = CertificateCacheHelper.GetSet(() => { var dal = new DAL.Certificate(); var entity_list = dal.GetAll(); var model_list = Entity2Models(entity_list); if (model_list == null) { model_list = new List<Model.Certificate>(); } return model_list; }, ConfigHelper.CacheKeepTime, ConfigHelper.CacheRandomTime); return all; } //éè¿ ID æ´æ°ç¼å private static void UpdateCache(long ID) { var dal = new DAL.Certificate(); var entity_ds = dal.GetByID(ID); var model_ds = Entity2Model(entity_ds); var all = GetCache(); var model = all.Find(x => x.ID == ID); if (model == null) { all.Add(model_ds); } else { model.Reset(model_ds); } } //éè¿ Ids æ´æ°ç¼å private static void UpdateCache(List<long> Ids) { if (Ids == null || Ids.Count < 1) return; var dal = new DAL.Certificate(); var entity_list = dal.GetByIds(Ids); var model_list = Entity2Models(entity_list); var all = GetCache(); all.RemoveAll(x => Ids.Contains(x.ID)); if (model_list != null && model_list.Count > 0) { all.AddRange(model_list); } } //ç§»é¤ç¼å private static void RemoveCache(long ID) { var all = GetCache(); all.RemoveAll(x => x.ID == ID); } #endregion #region Query /// <summary> /// è·åææ /// </summary> public List<Model.Certificate> GetAll() { var all = GetCache(); var list = all.OrderBy(x => x.SortCode).ToList(); return list; } /// <summary> /// éè¿ ID è·å /// </summary> public Model.Certificate GetByID(long ID) { var all = GetAll(); var model = all.Find(x => x.ID == ID); return model; } /// <summary> /// éè¿ ID è·å /// </summary> public List<Model.Certificate> GetByIds(List<long> Ids) { if (Ids == null || Ids.Count < 1) return default; var all = GetAll(); var list = all.Where(x => Ids.Contains(x.ID)).OrderBy(x => x.SortCode).ToList(); return list; } /// <summary> /// è·åæå¤§æåºç /// </summary> public int GetMaxSortCode() { var all = GetAll(); if (all.Count < 1) return 0; return all.Max(x => x.SortCode); } #endregion #region Insert /// <summary> /// æ·»å 䏿¡ /// </summary> public long Insert(Model.Certificate model) { if (model == null) return default; var entity = Model2Entity(model); var dal = new DAL.Certificate(); var id = dal.Insert(entity); if (id > 0) { UpdateCache(id); } return id; } /// <summary> /// æ¹éæå ¥ /// </summary> public bool Inserts(List<Model.Certificate> list) { if (list == null || list.Count < 1) return false; var dal = new DAL.Certificate(); var entity_list = Model2Entities(list); var ids = dal.InsertsR(entity_list); if (ids != null && ids.Count > 0) { UpdateCache(ids); return true; } return false; } #endregion #region Update /// <summary> /// æ´æ°ä¸æ¡ /// </summary> public bool Update(Model.Certificate model) { if (model == null) return false; var entity = Model2Entity(model); var dal = new DAL.Certificate(); var bol = dal.Update(entity); if (bol) { UpdateCache(model.ID); } return bol; } /// <summary> /// æ¹éæ´æ° /// </summary> public bool Updates(List<Model.Certificate> list) { if (list == null || list.Count < 1) return false; var entity_list = Model2Entities(list.ToList()); var dal = new DAL.Certificate(); var bol = dal.Updates(entity_list); if (bol) { UpdateCache(list.Select(x => x.ID).ToList()); } return bol; } /// <summary> /// æ´æ°æåºç /// </summary> public bool UpdateSortCode(long ID, int SortCode) { if (ID < 1) return default; var dal = new DAL.Certificate(); var bol = dal.UpdateSortCode(ID, SortCode); if (bol) { UpdateCache(ID); } return bol; } /// <summary> /// æ´æ°æåº /// </summary> public bool UpdateSorter(List<Yw.Model.Sorter> sorters) { if (sorters == null || sorters.Count < 1) return default; var dal = new DAL.Certificate(); var bol = dal.UpdateSorter(sorters.ToEntityList()); if (bol) { UpdateCache(sorters.Select(x => x.ID).ToList()); } return bol; } #endregion #region Delete /// <summary> /// éè¿ ID å é¤ /// </summary> public bool DeleteByID(long ID, out string Msg) { Msg = string.Empty; var dal = new DAL.Certificate(); var bol = dal.DeleteByID(ID); if (bol) { RemoveCache(ID); } return bol; } #endregion } } IStation.Service.SqiAirp/5-service/03-certificate/Certificate_Instance.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ namespace IStation.Service { public partial class Certificate { //Entity to GetModel private static Model.Certificate Entity2Model(Entity.Certificate entity) { if (entity == null) return default; var mapper = new MapperConfiguration(cfg => cfg.CreateMap<Entity.Certificate, Model.Certificate>() ).CreateMapper(); var model = mapper.Map<Entity.Certificate, Model.Certificate>(entity); return model; } //Entities to GetModels private static List<Model.Certificate> Entity2Models(List<Entity.Certificate> entities) { if (entities == null || entities.Count() < 1) return default; var mapper = new MapperConfiguration(cfg => cfg.CreateMap<Entity.Certificate, Model.Certificate>() ).CreateMapper(); var models = mapper.Map<List<Entity.Certificate>, List<Model.Certificate>>(entities); return models; } //Model to Entity private static Entity.Certificate Model2Entity(Model.Certificate model) { if (model == null) return default; var mapper = new MapperConfiguration(cfg => cfg.CreateMap<Model.Certificate, Entity.Certificate>() ).CreateMapper(); var entity = mapper.Map<Model.Certificate, Entity.Certificate>(model); return entity; } //Models to Entities private static List<Entity.Certificate> Model2Entities(List<Model.Certificate> models) { if (models == null || models.Count < 1) return default; var mapper = new MapperConfiguration(cfg => cfg.CreateMap<Model.Certificate, Entity.Certificate>() ).CreateMapper(); var entities = mapper.Map<List<Model.Certificate>, List<Entity.Certificate>>(models); return entities; } //Model to Entity private static void Model2Entity(Model.Certificate model, Entity.Certificate entity) { if (model == null || entity == null) return; var mapper = new MapperConfiguration(cfg => cfg.CreateMap<Model.Certificate, Entity.Certificate>() ).CreateMapper(); mapper.Map(model, entity); } } }