Exemple #1
0
        /// <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));
 }