/// <summary> /// 批量添加 /// </summary> /// <param name="jc_Defrequest"></param> /// <returns></returns> public BasicResponse AddPointDefines(PointDefinesAddRequest PointDefineRequest) { BasicResponse Result = new BasicResponse(); List <Jc_DefInfo> items = PointDefineRequest.PointDefinesInfo; List <Jc_DefInfo> Jc_DefCaches = new List <Jc_DefInfo>(); Jc_DefInfo olditem = null; B_DefCacheGetByConditionRequest bDefCacheRequest = new B_DefCacheGetByConditionRequest(); bDefCacheRequest.predicate = a => a.Activity == "1"; var result = _b_DefCacheService.Get(bDefCacheRequest); Jc_DefCaches = result.Data; foreach (Jc_DefInfo item in items) { olditem = Jc_DefCaches.Find(a => a.Point == item.Point && a.Activity == "1"); //增加重复判断 if (olditem != null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前添加列表中的数据在数据库中已经存在!"; return(Result); } } //向网关同步数据 List <Jc_DefInfo> SendItemList = items; var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } TransactionsManager.BeginTransaction(() => { foreach (Jc_DefInfo item in items) { //保存数据库 var _jc_Def = ObjectConverter.Copy <Jc_DefInfo, B_DefModel>(item); var resultjc_Def = _repository.AddDef(_jc_Def); //置下发初始化标记 PointInitializes(item, olditem); } //添加到缓存 B_DefCacheBatchInsertRequest batchInsertbDefCacheRequest = new B_DefCacheBatchInsertRequest(); batchInsertbDefCacheRequest.B_DefInfos = items; _b_DefCacheService.BatchInsert(batchInsertbDefCacheRequest); }); return(Result); }
/// <summary>批量添加DEF 缓存 /// </summary> /// <returns></returns> public static bool AddDEFsCache(List <Jc_DefInfo> items) { PointDefinesAddRequest PointDefineRequest = new PointDefinesAddRequest(); PointDefineRequest.PointDefinesInfo = items; var result = _PointDefineService.AddPointDefines(PointDefineRequest); if (result.IsSuccess == true) { return(true); } else { throw new Exception(result.Message); } }
public BasicResponse AddPointDefines(PointDefinesAddRequest PointDefineRequest) { return(_PointDefineService.AddPointDefines(PointDefineRequest)); }