12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using DocumentFormat.OpenXml.Vml.Office;
- using Hotline.Application.Snapshot.Contracts;
- using Hotline.Caching.Interfaces;
- using Hotline.Orders;
- using Hotline.Settings;
- using Hotline.Share.Dtos.Snapshot;
- using Hotline.Share.Tools;
- using Hotline.Snapshot;
- using Hotline.Snapshot.IRepository;
- using Hotline.ThirdAccountDomainServices;
- using Hotline.Tools;
- using Mapster;
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using XF.Domain.Dependency;
- using XF.Domain.Exceptions;
- using XF.Domain.Repository;
- namespace Hotline.Application.Snapshot;
- public class SnapshotUserApplication : ISnapshotUserApplication, IScopeDependency
- {
- private readonly ICitizenRepository _citizenRepository;
- private readonly ISystemDicDataCacheManager _dicData;
- private readonly IRepository<SafetyType> _safetyTypeRepository;
- public SnapshotUserApplication(ICitizenRepository citizenRepository, ISystemDicDataCacheManager dicData, IRepository<SafetyType> safetyTypeRepository)
- {
- _citizenRepository = citizenRepository;
- _dicData = dicData;
- _safetyTypeRepository = safetyTypeRepository;
- }
- public async Task AddCitizenRelationSafetyType(AddCitizenRelationSafetyTypeInDto dto, CancellationToken token)
- {
- dto.ValidateObject();
- var safeType = new SafetyType
- {
- Id = dto.SafetyTypeId
- };
- foreach (var item in dto.CitizenIds)
- {
- safeType.Citizens.Add(new Citizen { Id = item });
- }
- _safetyTypeRepository.AddNav(safeType);
- }
- public ISugarQueryable<CitizenRelationSafetyTypeOutDto> GetCitizenRelationSafetyType(CitizenRelationSafetyTypeInDto dto)
- {
- var query = _citizenRepository.Queryable()
- .LeftJoin<CitizenRelationSafetyType>((citizen, relation) => citizen.Id == relation.CitizenId)
- .LeftJoin<SafetyType>((citizen, relation, safety) => relation.SafetyTypeId == safety.Id)
- .WhereIF(dto.SafetyTypeId.NotNullOrEmpty(), (citizen, relation, safety) => safety.Id == dto.SafetyTypeId)
- .Select((citizen, relation, safety) => new CitizenRelationSafetyTypeOutDto
- {
- CitizenId = citizen.Id,
- CitizenName = citizen.Name,
- PhoneNumber = citizen.PhoneNumber,
- SafetyTypeName = safety.Name,
- SafetyTypeId = safety.Id
- });
- return query;
- }
- }
|