Beispiel #1
0
        private PersonAgent AddPersonAgent()
        {
            var actor = PersonAgent.CreateInstance(this, ExampleMainOrganization.Templates.Human);

            actor.GroupId = _groupId;
            var email = EmailEntity.CreateInstance(ExampleMainOrganization.ArtifactNetwork, MainOrganization.Models);

            ActorResource.CreateInstance(ExampleMainOrganization.ArtifactNetwork.ActorResource, actor.AgentId, email.EntityId, new ResourceUsage(0));
            ActorOrganization.CreateInstance(ExampleMainOrganization.ArtifactNetwork.ActorOrganization, actor.AgentId, _groupId);
            return(actor);
        }
Beispiel #2
0
        public override void SetAgents()
        {
            base.SetAgents();
            var group = GroupAgent.CreateInstance(this);

            for (var i = 0; i < ExampleMainOrganization.WorkersCount; i++)
            {
                var actor = PersonAgent.CreateInstance(this, MainOrganization.Templates.Human);
                actor.GroupId = group.AgentId;
                var email = EmailEntity.CreateInstance(MainOrganization.ArtifactNetwork, MainOrganization.Models);
                ActorResource.CreateInstance(MainOrganization.ArtifactNetwork.ActorResource, actor.AgentId, email.EntityId, new ResourceUsage(0));
                ActorOrganization.CreateInstance(MainOrganization.ArtifactNetwork.ActorOrganization, actor.AgentId, group.AgentId);
            }
        }
Beispiel #3
0
        public void AddPerson(PersonAgent newPerson)
        {
            if (newPerson == null)
            {
                throw new ArgumentNullException(nameof(newPerson));
            }

            // this new person is member of the group
            newPerson.GroupId = AgentId;
            ActorOrganization.CreateInstance(Environment.MainOrganization.ArtifactNetwork.ActorOrganization, newPerson.AgentId, AgentId);
            // All the members of this group have interactions
            var actorIds = Environment.MainOrganization.ArtifactNetwork.ActorOrganization.SourcesFilteredByTarget(AgentId).ToList();

            actorIds.ForEach(actorId => ActorActor.CreateInstance(Environment.MainOrganization.ArtifactNetwork.ActorActor, actorId, newPerson.AgentId));
        }