using AutoMapper; using Ropin.Inspection.Common.Accessor.Interface; using Ropin.Inspection.Model.Entities; using Ropin.Inspection.Model.ViewModel.SYS; using Ropin.Inspection.Repository.SYS.Interface; using Ropin.Inspection.Service.SYS.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ropin.Inspection.Service.SYS { internal class LicenseLargeScreenTemplateService : ILicenseLargeScreenTemplateService { private readonly ILicenseLargeScreenTemplateRepository _repository; private readonly IMapper _mapper; private readonly IClaimsAccessor _claims; public LicenseLargeScreenTemplateService(IClaimsAccessor claims, ILicenseLargeScreenTemplateRepository repository, IMapper mapper) { _repository = repository; _mapper = mapper; _claims = claims; } public async Task CreateOneAsync(LicenseLargeScreenTemplateModel viewModel) { var content = _mapper.Map(viewModel); content.C_CreateBy = _claims.ApiUserId.ToString(); content.C_Creator = _claims.ApiUserName; content.D_CreateOn = DateTime.Now; _repository.Create(content); var result = await _repository.SaveAsync(); if (!result) { throw new Exception("创建失败"); } } public async Task CreateAsync(AddLicenseLargeScreenTemplateModel viewModel) { var del = await _repository.DeleteByLicenseCodeAsync(viewModel.C_LicenseCode); foreach (var item in viewModel.LargeScreenTemplateList) { TSYS_LicenseLargeScreenTemplate entity = new TSYS_LicenseLargeScreenTemplate() { C_LicenseCode = viewModel.C_LicenseCode, C_LargeScreenTemplateCode = item, C_CreateBy = _claims.ApiUserId.ToString(), C_Creator = _claims.ApiUserName, D_CreateOn = DateTime.Now, }; await _repository.CreateLicenseLargeScreenTemplateAsync(entity); } var result = await _repository.SaveAsync(); if (!result) { throw new Exception("创建失败"); } } public async Task DeleteLicenseLargeScreenTemplateAsync(string licenseCode, string largeScreenTemplateCode) { var items = await _repository.GetByConditionAsync(x => x.C_LicenseCode == licenseCode && x.C_LargeScreenTemplateCode == largeScreenTemplateCode); var content = items.FirstOrDefault(); if (content == null) { throw new Exception("没有此数据"); } var result = await _repository.DeleteLicenseLargeScreenTemplateAsync(licenseCode, largeScreenTemplateCode); if (!result) { throw new Exception("删除失败"); } } public async Task> GetLicenseLargeScreenTemplateListAsync(string licenseCode) { var result = await _repository.GetList(licenseCode); return result; } public Task DeleteAsync(string id) { throw new NotImplementedException(); } public Task GetByIdAsync(string id) { throw new NotImplementedException(); } public Task IsExistAsync(string id) { throw new NotImplementedException(); } public Task UpdateOneAsync(LicenseLargeScreenTemplateModel viewModel, params string[] fields) { throw new NotImplementedException(); } } }