using Microsoft.AspNetCore.Http; using QM.KJGH.CGGL.IRepository; using QM.KJGH.CGGL.Model.Enums; using QM.KJGH.CGGL.Model.Ghxms; using QM.KJGH.Model; using QM.KJGH.Model.KJGH; using QM.OrmSqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WS; using WS.AutoMapper; using WS.IO; using WS.IO.Upload; namespace QM.KJGH.CGGL.Repository { public class GhbzGhxmCgRepository : SqlSugarRepository, IGhbzGhxmCgRepository { public async Task Add(GhbzGhxmCg ghbzGhxmCg, IFormFileCollection files, string currUser) { if (ghbzGhxmCg == null) throw new UseArgumentException("请求参数错误"); var db = DbClient(); var list = new List(); foreach (var item in files) { var cgmlModel = db.Queryable().First(u => u.BSM == ghbzGhxmCg.ML_BSM); if (null == cgmlModel) throw new UseArgumentException("未找到对应目录"); string path = FileManage.Instance.ToFullPath(@$"{cgmlModel.MLMC}"); var uFile = FileUpload.SaveFile(item, path); ghbzGhxmCg.BSM = Guid.NewGuid().ToString("N"); ghbzGhxmCg.CTIME = DateTime.Now; ghbzGhxmCg.CGLJ = uFile.Path; ghbzGhxmCg.CGMC = uFile.Name; ghbzGhxmCg.CGKZM = System.IO.Path.GetExtension(uFile.Name); ghbzGhxmCg.CGDX = (int)uFile.Size; ghbzGhxmCg.CUSER = currUser; list.Add(ghbzGhxmCg); } var result = await InsertListAsync(list); return result; } public async Task Delete(List bsmlist) { if (bsmlist.Count < 0) throw new UseArgumentException("请求参数错误"); //Expression> conditionwhere = i => i.BSM == bsm; try { await UpdateAsync(u => new GhbzGhxmCg { IS_DELETE = EnumDelete.Deleted }, i => bsmlist.Contains(i.BSM)); } catch (Exception ex) { WS.Log.RunLog.Error(ex); throw new UseArgumentException("服务器错误"); } return true; } public async Task> QueryByXmBsm(string xmbsm, string mlbsm) { if (string.IsNullOrEmpty(xmbsm) || string.IsNullOrEmpty(mlbsm)) throw new UseArgumentException("请求参数错误"); var result = (await GetListAsync(u => u.XM_BSM == xmbsm && u.ML_BSM == mlbsm && u.IS_DELETE == EnumDelete.Mormal)).MapTo(); return result; } } }