/// <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; } } } }
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")); }
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); } }