示例#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;
                    }
                }
            }
        }
示例#2
0
        public ActionResult Update(AttributeMetaData attributeMetadata)
        {
            string entityName = Session["EntityName"].ToString();
            var    x          = new EntityMetaDataUtils();

            //update entity based on model information
            x.UpdateEntity(entityName, attributeMetadata);
            TempData["Message"] = "Successfully updated entity " + entityName;

            return(RedirectToAction("Update"));
        }
示例#3
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);
            }
        }