WorkConfigRepository.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IdentityModel.Tokens.Jwt;
  4. using System.Linq;
  5. using System.Security.Claims;
  6. using System.Text;
  7. using FMSAdmin.Data;
  8. using FMSAdmin.Helpers;
  9. using FMSAdmin.Entities;
  10. using Microsoft.EntityFrameworkCore;
  11. using Microsoft.Extensions.Logging;
  12. using Microsoft.Extensions.Options;
  13. using Microsoft.IdentityModel.Tokens;
  14. using FMSAdmin.Models;
  15. using System.Transactions;
  16. namespace FMSApp.Repositories {
  17. public class WorkConfigRepository {
  18. private readonly ILogger<WorkConfigRepository> _logger;
  19. private readonly FMSContext _context;
  20. private readonly AppSettings _appSettings;
  21. private readonly StorageHelper _storage;
  22. private SiteConfig _config = null;
  23. public WorkConfigRepository(
  24. ILogger<WorkConfigRepository> logger,
  25. FMSContext context,
  26. IOptions<AppSettings> appSettings,
  27. StorageHelper storage
  28. ) {
  29. _logger = logger;
  30. _context = context;
  31. _appSettings = appSettings.Value;
  32. _storage = storage;
  33. }
  34. public SiteConfig GetConfig(bool cache = false) {
  35. if (_config != null && cache) return _config;
  36. var persist = _context.SiteConfig.FirstOrDefault();
  37. _config = persist;
  38. return persist;
  39. }
  40. public bool IsAutoOrder(bool cache = false) {
  41. var config = this.GetConfig(cache);
  42. return config.UseWorkAutoOrder;
  43. }
  44. public bool IsAutoResult(bool cache = false) {
  45. var config = this.GetConfig(cache);
  46. return config.UseWorkAutoResult;
  47. }
  48. }
  49. }