GetConfigQueryHandler.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. using Application.Abstractions.Data;
  2. using MediatR;
  3. using Microsoft.EntityFrameworkCore;
  4. namespace Application.Features.Config.Queries;
  5. public sealed class GetConfigQueryHandler(IAppDbContext db) : IRequestHandler<GetConfigQuery, ConfigDto?>
  6. {
  7. public async Task<ConfigDto?> Handle(GetConfigQuery request, CancellationToken cancellationToken)
  8. {
  9. var config = await db.Config.AsNoTracking().OrderByDescending(x => x.ID).FirstOrDefaultAsync(cancellationToken);
  10. if (config is null)
  11. {
  12. return null;
  13. }
  14. return new ConfigDto
  15. {
  16. ID = config.ID,
  17. Basic = new ConfigDto.BasicConfigDto
  18. {
  19. SiteName = config.Basic.SiteName,
  20. DefaultFeeAmount = config.Basic.DefaultFeeAmount,
  21. DefaultFeeRate = config.Basic.DefaultFeeRate
  22. },
  23. Meta = new ConfigDto.MetaConfigDto
  24. {
  25. Keywords = config.Meta.Keywords,
  26. Description = config.Meta.Description,
  27. Author = config.Meta.Author,
  28. Viewport = config.Meta.Viewport,
  29. ApplicationName = config.Meta.ApplicationName,
  30. Generator = config.Meta.Generator,
  31. Robots = config.Meta.Robots,
  32. Adds = config.Meta.Adds
  33. },
  34. Company = new ConfigDto.CompanyConfigDto
  35. {
  36. Name = config.Company.Name,
  37. RegNo = config.Company.RegNo,
  38. Owner = config.Company.Owner,
  39. Tel = config.Company.Tel,
  40. Fax = config.Company.Fax,
  41. RetailSaleNo = config.Company.RetailSaleNo,
  42. AddedSaleNo = config.Company.AddedSaleNo,
  43. ZipCode = config.Company.ZipCode,
  44. Hosting = config.Company.Hosting,
  45. AdminName = config.Company.AdminName,
  46. AdminEmail = config.Company.AdminEmail,
  47. SiteUrl = config.Company.SiteUrl,
  48. BankCode = config.Company.BankCode,
  49. BankOwner = config.Company.BankOwner,
  50. BankNumber = config.Company.BankNumber
  51. },
  52. Account = new ConfigDto.AccountConfigDto
  53. {
  54. IsRegisterBlock = config.Account.IsRegisterBlock,
  55. IsRegisterEmailAuth = config.Account.IsRegisterEmailAuth,
  56. PasswordMinLength = config.Account.PasswordMinLength,
  57. PasswordUppercaseLength = config.Account.PasswordUppercaseLength,
  58. PasswordNumbersLength = config.Account.PasswordNumbersLength,
  59. PasswordSpecialcharsLength = config.Account.PasswordSpecialcharsLength,
  60. DeniedEmailList = config.Account.DeniedEmailList,
  61. DeniedNameList = config.Account.DeniedNameList,
  62. ChangeEmailDay = config.Account.ChangeEmailDay,
  63. ChangeNameDay = config.Account.ChangeNameDay,
  64. ChangeSummaryDay = config.Account.ChangeSummaryDay,
  65. ChangeIntroDay = config.Account.ChangeIntroDay,
  66. ChangePasswordDay = config.Account.ChangePasswordDay,
  67. MaxLoginTryCount = config.Account.MaxLoginTryCount,
  68. MaxLoginTryLimitSecond = config.Account.MaxLoginTryLimitSecond
  69. },
  70. EmailTemplate = new ConfigDto.EmailTemplateConfigDto
  71. {
  72. RegisterEmailFormTitle = config.EmailTemplate.RegisterEmailFormTitle,
  73. RegisterEmailFormContent = config.EmailTemplate.RegisterEmailFormContent,
  74. RegistrationEmailFormTitle = config.EmailTemplate.RegistrationEmailFormTitle,
  75. RegistrationEmailFormContent = config.EmailTemplate.RegistrationEmailFormContent,
  76. ResetPasswordEmailFormTitle = config.EmailTemplate.ResetPasswordEmailFormTitle,
  77. ResetPasswordEmailFormContent = config.EmailTemplate.ResetPasswordEmailFormContent,
  78. ChangedPasswordEmailFormTitle = config.EmailTemplate.ChangedPasswordEmailFormTitle,
  79. ChangedPasswordEmailFormContent = config.EmailTemplate.ChangedPasswordEmailFormContent,
  80. WithdrawEmailFormTitle = config.EmailTemplate.WithdrawEmailFormTitle,
  81. WithdrawEmailFormContent = config.EmailTemplate.WithdrawEmailFormContent,
  82. EmailVerifyFormTitle = config.EmailTemplate.EmailVerifyFormTitle,
  83. EmailVerifyFormContent = config.EmailTemplate.EmailVerifyFormContent,
  84. ChangedEmailFormTitle = config.EmailTemplate.ChangedEmailFormTitle,
  85. ChangedEmailFormContent = config.EmailTemplate.ChangedEmailFormContent
  86. },
  87. External = new ConfigDto.ExternalApiConfigDto
  88. {
  89. YouTubeApiKeyEnc = config.External.YouTubeApiKeyEnc,
  90. YouTubeApiName = config.External.YouTubeApiName,
  91. GoogleClientId = config.External.GoogleClientId,
  92. GoogleClientSecretEnc = config.External.GoogleClientSecretEnc,
  93. GoogleAppId = config.External.GoogleAppId
  94. },
  95. Payment = new ConfigDto.PaymentConfigDto
  96. {
  97. }
  98. };
  99. }
  100. }