Ejemplo n.º 1
0
        /// <summary>
        /// 处理设施添加数据
        /// </summary>
        /// <param name="cd"></param>
        /// <param name="data"></param>
        /// <param name="message"></param>
        /// <param name="xResponseMessage"></param>
        /// <returns></returns>
        private static async Task <XResponseMessage> ProcessFacilityAddDatas(ManageDataBlock cd, dynamic data)

        {
            XResponseMessage xResponseMessage = new XResponseMessage();

            if (cd.FacilityAddDatas != null && cd.FacilityAddDatas.Any())
            {
                var result = await ManageDataProcessor.ProcessFacilityAddData(cd.FacilityAddDatas);

                if (result != null && result.Success != ErrorType.NoError)
                {
                    xResponseMessage        = result;
                    xResponseMessage.IsTrue = true;
                }

                if (result != null)
                {
                    if (!result.Message.IsNullOrWhiteSpace())
                    {
                        xResponseMessage.Message += result.Message + " ";
                    }
                    if (result.Data != null)
                    {
                        data.FacilityAddDatas = result.Data;
                    }
                }
            }
            xResponseMessage.IsTrue = false;
            return(xResponseMessage);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     处理管理数据
        /// </summary>
        /// <param name="manageDataBlock"></param>
        public static async Task <XResponseMessage> ProcessManageData(ManageDataBlock manageDataBlock)
        {
            if (manageDataBlock == null)
            {
                throw new ArgumentNullException("manageDataBlock");
            }

            dynamic          data             = new ExpandoObject();
            var              message          = "";
            XResponseMessage xResponseMessage = new XResponseMessage {
                IsTrue = false, Success = ErrorType.NoContent, Data = data, Message = message
            };

            //添加设施、(传感器、音视频)设备
            xResponseMessage = (XResponseMessage) await ProcessFacilityAddDatas(manageDataBlock, data);

            if (xResponseMessage.IsTrue)
            {
                message = xResponseMessage.Message;
                return(xResponseMessage);
            }

            //更新设施数据
            xResponseMessage = (XResponseMessage) await ProcessFacilityUpdateDatas(manageDataBlock, data);

            if (xResponseMessage.IsTrue)
            {
                message = xResponseMessage.Message;
                return(xResponseMessage);
            }
            //更新设备(采集、控制设备,音视频设备)数据
            xResponseMessage = (XResponseMessage) await ProcessDeviceUpdateData(manageDataBlock, data);

            if (xResponseMessage.IsTrue)
            {
                message = xResponseMessage.Message;
                return(xResponseMessage);
            }

            var result2 = new XResponseMessage()
            {
                Success = ErrorType.NoError,
                Message = message,
                Data    = data,
            };

            return(result2);
        }
Ejemplo n.º 3
0
        public async Task <XResponseMessage> ProcessAsync(ManageDataBlock manageDataBlock)
        {
            if (manageDataBlock == null)
            {
                return(null);
            }

            if (manageDataBlock.FacilityAdd != null)
            {
                try
                {
                    return
                        (await
                         AhnqIotContainer.Container.Resolve <FacilityAddProcess>()
                         .ProcessAsync(manageDataBlock.FacilityAdd));
                }
                catch (AggregateException ex)
                {
                    return(ResultHelper.CreateExceptionMessage(ex, "添加设施失败", ErrorType.InternalError));
                }
            }

            if (manageDataBlock.FacilityUpdate != null)
            {
                try
                {
                    return
                        (await
                         AhnqIotContainer.Container.Resolve <FacilityUpdateProcess>()
                         .ProcessAsync(manageDataBlock.FacilityUpdate));
                }
                catch (AggregateException ex)
                {
                    return(ResultHelper.CreateExceptionMessage(ex, "更新设施失败", ErrorType.InternalError));
                }
            }
            if (manageDataBlock.DeviceAdd != null)
            {
                try
                {
                    return
                        (await
                         AhnqIotContainer.Container.Resolve <DeviceAddProcess>()
                         .ProcessAsync(manageDataBlock.DeviceAdd));
                }
                catch (AggregateException ex)
                {
                    return(ResultHelper.CreateExceptionMessage(ex, "添加设备失败", ErrorType.InternalError));
                }
            }

            if (manageDataBlock.DeviceUpdate != null)
            {
                try
                {
                    return
                        (await
                         AhnqIotContainer.Container.Resolve <DeviceUpdateProcess>()
                         .ProcessAsync(manageDataBlock.DeviceUpdate));
                }
                catch (AggregateException ex)
                {
                    return(ResultHelper.CreateExceptionMessage(ex, "更新设备失败", ErrorType.InternalError));
                }
            }
            if (manageDataBlock.MediaAdd != null)
            {
                try
                {
                    return
                        (await
                         AhnqIotContainer.Container.Resolve <MediaAddProcess>().ProcessAsync(manageDataBlock.MediaAdd));
                }
                catch (AggregateException ex)
                {
                    return(ResultHelper.CreateExceptionMessage(ex, "添加视频设备失败", ErrorType.InternalError));
                }
            }

            if (manageDataBlock.MediaUpdate != null)
            {
                try
                {
                    return
                        (await
                         AhnqIotContainer.Container.Resolve <MediaUpdateProcess>()
                         .ProcessAsync(manageDataBlock.MediaUpdate));
                }
                catch (AggregateException ex)
                {
                    return(ResultHelper.CreateExceptionMessage(ex, "更新视频设备失败", ErrorType.InternalError));
                }
            }

            //旧版本
            await
            AhnqIotContainer.Container.Resolve <FacilityAddProcess>().ProcessAsync(manageDataBlock.FacilityAddDatas);

            await
            AhnqIotContainer.Container.Resolve <FacilityUpdateProcess>()
            .ProcessAsync(manageDataBlock.FacilityUpdateDatas);

            return(null);
        }