Exemplo n.º 1
0
        /// <summary>
        /// This method is called whenever an actor is activated.
        /// An actor is activated the first time any of its methods are invoked.
        /// </summary>
        protected override async Task OnActivateAsync()
        {
            ActorEventSource.Current.ActorMessage(this, "Actor activated.");
            var result = await StateManager.TryGetStateAsync <AttributeMetaData>(MetadataState);

            if (!result.HasValue)
            {
                var metadata = new AttributeMetaData();
                await StateManager.TryAddStateAsync(MetadataState, metadata);
            }
            else
            {
                metadata     = result.Value;
                this.context = metadata.Context;
                if (metadata.IsLimitAlarms)
                {
                    var result1 = await StateManager.TryGetStateAsync <LimitAlarmData>(AlarmState);

                    if (result1.HasValue)
                    {
                        this.limitAlarmData = result1.Value;
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// This method is called whenever an actor is activated.
        /// An actor is activated the first time any of its methods are invoked.
        /// </summary>
        protected async override Task OnActivateAsync()
        {
            ActorEventSource.Current.ActorMessage(this, "Actor activated.");
            var result = await StateManager.TryGetStateAsync <LimitAlarmData>(MetadataState);

            if (!result.HasValue)
            {
                var metadata = new LimitAlarmData();
                await StateManager.TryAddStateAsync(MetadataState, metadata);
            }
        }
Exemplo n.º 3
0
        private static void AddLimitData(AttributeData attribute, List <LimitAlarmDesc> limits)
        {
            LimitAlarmData limitAlarmData = new LimitAlarmData();

            foreach (var limit in limits)
            {
                limitAlarmData.AddLimitAlarm(limit);
            }
            attribute.AlamLimitData = limitAlarmData;
            attribute.AttributeMetaData.IsLimitAlarms = true;
        }
Exemplo n.º 4
0
        public async Task SetData(AttributeData data)
        {
            await StateManager.SetStateAsync(MetadataState, data.AttributeMetaData);

            metadata = data.AttributeMetaData;
            if (data.AttributeMetaData.IsLimitAlarms)
            {
                ////var limitAlarm = GetlimitAlarmActorPoxy(this.Id.ToString() + "_LimitAlarm");
                ////await limitAlarm.SetData(data.AlamLimitData);
                await StateManager.SetStateAsync(AlarmState, data.AlamLimitData);

                this.limitAlarmData = data.AlamLimitData;
            }

            if (data.AttributeMetaData.IsIO)
            {
                var ioExtention = GetIOExtentionActorPoxy(this.Id.ToString() + "_IO");
                await ioExtention.SetData(data.IOExtentionData);
            }
        }
Exemplo n.º 5
0
 public async Task SetData(LimitAlarmData data)
 {
     await StateManager.SetStateAsync(MetadataState, data);
 }