#region << 版 本 注 释 >>
/*----------------------------------------------------------------
* 命å空间:WIDESEAWCS_QuartzJob
* 创建者:胡童庆
* 创建时间:2024/8/2 16:13:36
* 版本:V1.0.0
* æè¿°ï¼šè®¾å¤‡å议业务实现层
*
* ----------------------------------------------------------------
* 修改人:
* 修改时间:
* 版本:V1.0.1
* 修改说明:
*
*----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
using Magicodes.ExporterAndImporter.Core.Models;
using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Repository;
namespace WIDESEAWCS_QuartzJob.Service
{
public class DeviceProtocolService : ServiceBase<Dt_DeviceProtocol, IDeviceProtocolRepository>, IDeviceProtocolService
{
private readonly IUnitOfWorkManage _unitOfWorkManage;
public DeviceProtocolService(IDeviceProtocolRepository BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
}
/// <summary>
/// 读å–导入文件的数æ®è¿”回到å‰ç«¯
/// </summary>
/// <param name="fileInput">文件</param>
/// <returns>返回读å–结果,æˆåŠŸè¿”å›žæ•°æ®ï¼Œå¤±è´¥è¿”回错误信æ¯</returns>
public WebResponseContent GetImportData(List<IFormFile> fileInput)
{
try
{
if (fileInput == null || fileInput.Count == 0)
return new WebResponseContent { Status = true, Message = "è¯·é€‰æ‹©ä¸Šä¼ çš„æ–‡ä»¶" };
Microsoft.AspNetCore.Http.IFormFile formFile = fileInput[0];
string dicPath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelImprot/{DateTime.Now.ToString("yyyMMdd")}/{typeof(Dt_DeviceProtocol).Name}/";
if (!Directory.Exists(dicPath)) Directory.CreateDirectory(dicPath);
string fileName = $"{Guid.NewGuid()}_{formFile.FileName}";
dicPath = $"{dicPath}{fileName}";
using (FileStream stream = new FileStream(dicPath, FileMode.Create))
{
formFile.CopyTo(stream);
}
ExcelImporter importer = new ExcelImporter();
ImportResult<Dt_DeviceProtocol> importResult = importer.Import<Dt_DeviceProtocol>(dicPath, "").Result;
if (importResult.HasError)
{
return WebResponseContent.Instance.Error(importResult.TemplateErrors.Serialize());
}
return WebResponseContent.Instance.OK(data: importResult.Data);
}
catch (Exception ex)
{
return WebResponseContent.Instance.Error(ex.Message);
}
}
public override WebResponseContent AddData(SaveModel saveModel)
{
//saveModel.MainData[""]
return base.AddData(saveModel);
}
//public WebResponseContent InsertProtocol_Line(int PLCid,string ChildCode,)
//{
//}
}
}