示例#1
0
 /// <summary>
 /// 添加分控上的灯具基本信息
 /// </summary>
 /// <param name="cache">当前操作用户的缓存信息</param>
 /// <param name="datas">待添加的灯具</param>
 /// <returns></returns>
 public OperationResult AddSubReadTimeDatas(CacheUser cache, params SubRealTimeDataInputDto[] datas) => SubRealTimeDataRepository.Insert(datas,
                                                                                                                                         checkAction: dto =>
 {
     if (!dto.DimmingPort.IsBetween(1, 2))
     {
         throw new Exception("id:灯具端口在1-2之间");
     }
     else if (SubRealTimeDataRepository.CheckExists(m => m.SubControl_Id == dto.SubControl_Id && m.DimmingPort == dto.DimmingPort))
     {
         throw new Exception($"Id:该分控上已经存在端口{dto.DimmingPort}的灯具!");
     }
 },
                                                                                                                                         updateFunc: (dto, entity) =>
 {
     entity.CreatedTime = DateTime.Now;
     entity.UpdateTime  = DateTime.Now;
     return(entity);
 });
示例#2
0
 /// <summary>
 /// 删除分控上的灯具基本信息
 /// </summary>
 /// <param name="cache">当前操作用户的缓存</param>
 /// <param name="datas">待删除的数据Id集合</param>
 /// <returns></returns>
 public OperationResult DeleteReadTimeDatas(CacheUser cache, params Guid[] Ids)
 {
     try
     {
         int count = 0;
         SubRealTimeDataRepository.UnitOfWork.BeginTransaction();
         foreach (var id in Ids)
         {
             count += SubRealTimeDataRepository.DeleteDirect(id);
         }
         SubRealTimeDataRepository.UnitOfWork.Commit();
         return(count > 0 ? new OperationResult(OperationResultType.Success, $"成功删除{count}条数据") :
                new OperationResult());
     }
     catch (Exception ex)
     {
         throw new Exception($"id:出现错误:{ex.Message}");
     }
 }
示例#3
0
        /// <summary>
        /// 更新分控的实时数据
        /// </summary>
        /// <param name="data_0X16_In">待更新的数据</param>
        /// <returns></returns>
        public string UpdateSubReadTimeData_0x16(params SubRealTimeData_0x16_In[] data_0X16_In)
        {
            try
            {
                int count = 0;
                SubRealTimeDataRepository.UnitOfWork.BeginTransaction();
                foreach (var dto in data_0X16_In)
                {
                    var value = SubRealTimeDataRepository.TrackEntities.FirstOrDefault(m => m.SubControlOne.SubNum == dto.SubNum &&
                                                                                       m.SubControlOne.LigthPoleOne.HostOne.RegPackage == dto.RegPackage &&
                                                                                       m.DimmingPort == dto.DimmingPort);

                    if (value != null)
                    {
                        Guid Id     = value.Id;
                        var  result = dto.MapTo(value);
                        result.Id = Id;
                        count    += SubRealTimeDataRepository.Update(value);

                        #region 获取更新能耗信息
                        if (dto.EnergyConsumption > 0)
                        {
                            AddEnergyConsumption(value.SubControl_Id, value.SubControlOne.LigthPoleOne.HostOne.Organize_Id, dto.EnergyConsumption);
                        }
                        #endregion
                    }
                }
                SubRealTimeDataRepository.UnitOfWork.Commit();
                return(count > 0 ? $"分控实时数据更新影响数据{count}条" :
                       $"提交的分控实时数据更新未发生任何改变");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
示例#4
0
 /// <summary>
 /// 编辑分控上的灯具基本信息
 /// </summary>
 /// <param name="cache">当前操作用户的缓存信息</param>
 /// <param name="datas">待添加的灯具</param>
 /// <returns></returns>
 public OperationResult EditSubReadTimeDatas(CacheUser cache, params SubRealTimeDataInputDto[] datas) => SubRealTimeDataRepository.Update(datas,
                                                                                                                                          checkAction: (dto, entity) => {},
                                                                                                                                          updateFunc: (dto, entity) =>
 {
     return(entity);
 });