using AutoMapper; using Ropin.Inspection.Common.Accessor.Interface; using Ropin.Inspection.Model.Entities; using Ropin.Inspection.Model.SearchModel; using Ropin.Inspection.Model.ViewModel; using Ropin.Inspection.Repository.Interface; using Ropin.Inspection.Service.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ropin.Inspection.Service { public class TsecRecordItemService : ITsecRecordItemService { private readonly ITsecRecordItemRepository _repository; private readonly ITsecRecordImageRepository _tsecRecordImageRepository; private readonly IMapper _mapper; private readonly IClaimsAccessor _claims; public TsecRecordItemService(IClaimsAccessor claims, ITsecRecordItemRepository repository, ITsecRecordImageRepository tispRecordImageRepository, IMapper mapper) { _repository = repository; _tsecRecordImageRepository = tispRecordImageRepository; _mapper = mapper; _claims = claims; } public async Task CreateSecurityRecordItemAsync(TsecRecordItemCreateViewModel item) { TsecRecordItemViewModel tsecRecord = new TsecRecordItemViewModel(); tsecRecord.C_RecordItemCode = item.C_RecordItemCode; tsecRecord.C_SecurityContent = item.C_SecurityContent; tsecRecord.C_Remark = item.C_Remark; tsecRecord.C_Status = item.C_Status; TISP_SecurityItem recordItem = _mapper.Map(tsecRecord); recordItem.C_CreateBy = _claims.ApiUserId; recordItem.D_CreateOn = DateTime.Now; _repository.Create(recordItem); var result = await _repository.SaveAsync(); if (!result) { throw new Exception("创建失败"); } if (null != item.FilePaths && item.FilePaths.Count() > 0) { foreach (string imgPath in item.FilePaths) { await _tsecRecordImageRepository.CreateOneAsync(new TISP_SecurityImage { C_SecurityRecordCode = tsecRecord.C_ID, C_ImageUrl = imgPath, C_Status = "1" }); var resultItemImage = await _repository.SaveAsync(); if (!resultItemImage) { throw new Exception("创建失败"); } } } } public async Task CreateSecurityRecordItemsAsync(IEnumerable items) { foreach (var item in items) { //TsecRecordItemViewModel tsecRecord = new TsecRecordItemViewModel(); //tsecRecord.C_ID = Guid.NewGuid(); //tsecRecord.C_RecordItemCode = item.C_RecordItemCode; //tsecRecord.C_SecurityContent = item.C_SecurityContent; //tsecRecord.C_Remark = item.C_Remark; //tsecRecord.C_Status = "1"; TISP_SecurityItem recordItem = new TISP_SecurityItem(); recordItem.C_ID = Guid.NewGuid(); recordItem.C_RecordItemCode = item.C_RecordItemCode; recordItem.C_SecurityContent = item.C_SecurityContent; recordItem.C_Remark = item.C_Remark; recordItem.C_Status = item.C_Status; recordItem.C_CreateBy = _claims.ApiUserId; recordItem.D_CreateOn = DateTime.Now; await _repository.CreateOneAsync(recordItem); var result = await _repository.SaveAsync(); if (!result) { throw new Exception("创建失败"); } if (null != item.FilePaths && item.FilePaths.Count() > 0) { foreach (string imgPath in item.FilePaths) { await _tsecRecordImageRepository.CreateOneAsync(new TISP_SecurityImage { C_SecurityRecordCode = recordItem.C_ID, C_ImageUrl = imgPath, C_Status = "1" }); var resultItemImage = await _repository.SaveAsync(); if (!resultItemImage) { throw new Exception("创建失败"); } } } } } public async Task> GetSecurityRecordItemByIdAsync(Guid recordId) { var result = await _repository.GetSecurityRecordItemByIdAsync(recordId); return result; } public async Task> GetSecurityRecordItemsAsync(TsecRecordItemsSearchModel searchModel) { //if (string.IsNullOrEmpty(searchModel.OrganizeCode)) //{ // searchModel.OrganizeCode = _claims.OrganizeId.ToString(); //} var result = await _repository.GetSecurityRecordItemsAsync(searchModel); return result; } public Task CreateOneAsync(TsecRecordItemViewModel viewModel) { throw new NotImplementedException(); } public Task DeleteAsync(Guid id) { throw new NotImplementedException(); } public Task GetByIdAsync(Guid id) { throw new NotImplementedException(); } public Task IsExistAsync(Guid id) { throw new NotImplementedException(); } public Task UpdateOneAsync(TsecRecordItemViewModel viewModel, params string[] fields) { throw new NotImplementedException(); } } }