TenantService.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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. namespace FMSApp.Services {
  16. public class TenantService {
  17. private readonly ILogger<TenantService> _logger;
  18. private readonly FMSContext _context;
  19. private readonly AppSettings _appSettings;
  20. private readonly StorageHelper _storage;
  21. public TenantService(
  22. ILogger<TenantService> logger,
  23. FMSContext context,
  24. IOptions<AppSettings> appSettings,
  25. StorageHelper storage
  26. ) {
  27. _logger = logger;
  28. _context = context;
  29. _appSettings = appSettings.Value;
  30. _storage = storage;
  31. }
  32. public void UpdateListData(CmTenant data) {
  33. var persist = _context.CmTenant.Where(x => x.SiteId == data.SiteId && x.TenantId == data.TenantId).FirstOrDefault();
  34. if (persist == null) throw new ServiceException("존재하지 않는 데이터 입니다.");
  35. persist.IsUse = data.IsUse;
  36. _context.CmTenant.Update(persist);
  37. _context.SaveChanges();
  38. }
  39. public void Save(CmTenant data) {
  40. var persist = _context.CmTenant
  41. .Where(x => x.SiteId == data.SiteId
  42. && x.TenantId == data.TenantId).FirstOrDefault();
  43. if (persist == null) {
  44. var check = _context.CmTenant.Where(x => x.SiteId == data.SiteId
  45. && x.TenantId == data.TenantId).Count();
  46. if (check > 0) {
  47. throw new ServiceException("아이디가 중복됩니다.");
  48. }
  49. if (data.BuildingId == null) {
  50. var floor = _context.CmFloor.FirstOrDefault(x => x.SiteId == data.SiteId && x.FloorId == data.FloorId);
  51. if (floor == null) throw new ServiceException("선택한 층정보를 찾을수 없습니다.");
  52. data.BuildingId = floor.BuildingId;
  53. }
  54. _context.CmTenant.Add(data);
  55. _context.SaveChanges();
  56. } else {
  57. persist.BuildingId = data.BuildingId;
  58. if (data.BuildingId == null) {
  59. var floor = _context.CmFloor.FirstOrDefault(x => x.SiteId == data.SiteId && x.FloorId == data.FloorId);
  60. if (floor == null) throw new ServiceException("선택한 층정보를 찾을수 없습니다.");
  61. persist.BuildingId = floor.BuildingId;
  62. }
  63. persist.CompanyTypeId = data.CompanyTypeId;
  64. persist.FloorId = data.FloorId;
  65. persist.Name = data.Name;
  66. persist.RepresentativeName = data.RepresentativeName;
  67. persist.RepresentativePhone = data.RepresentativePhone;
  68. persist.Fax = data.Fax;
  69. persist.AreaSize = data.AreaSize;
  70. persist.ExclusiveArea = data.ExclusiveArea;
  71. persist.ChargeName = data.ChargeName;
  72. persist.ChargePhone = data.ChargePhone;
  73. persist.AddressZip = data.AddressZip;
  74. persist.Address1 = data.Address1;
  75. persist.Address2 = data.Address2;
  76. persist.ChargeEmail = data.ChargeEmail;
  77. persist.Homepage = data.Homepage;
  78. persist.Comment = data.Comment;
  79. persist.IsUse = data.IsUse;
  80. _context.CmTenant.Update(persist);
  81. _context.SaveChanges();
  82. }
  83. }
  84. public void Delete(int siteId, int tenantId) {
  85. var data = _context.CmTenant.First(x => x.SiteId == siteId && x.TenantId == tenantId);
  86. _context.CmTenant.Remove(data);
  87. _context.SaveChanges();
  88. }
  89. public IQueryable<CmTenant> GetAll() {
  90. var query = _context.CmTenant;
  91. return query;
  92. }
  93. }
  94. }