public void UpdateElder(Elder elder) { LoraPlatformEntities db = new LoraPlatformEntities(); try { Elder data = db.Elder.Find(elder.IdCard); data.Name = elder.Name; data.Birthday = elder.Birthday; data.Sex = elder.Sex; data.ContactPhone = elder.ContactPhone; db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } finally { db.Dispose(); } }
private void fillContainers() { int homeCount = 10000; int hospitalCount = 4; int mallCount = 5; int officeCount = 500; int univercityCount = 1; int schoolCount = 23; int nurseryCount = 2; //int homeCount = 1; //int hospitalCount = 1; //int mallCount = 1; //int officeCount = 1; //int univercityCount = 1; //int schoolCount = 1; //int nurseryCount = 1; List <Message> messagesToSend = new List <Message>(); int currentId = 0; // Messages for home containers creation List <AddContainerMessage> homes = new List <AddContainerMessage>(); for (int i = 0; i < homeCount; i++) { homes.Add(new AddContainerMessage(MessageTransportSystem.Instance.Id, Enums.ContainerType.Home, currentId, 50, 12)); Containers.Instance.Add(currentId, new Home(currentId, 50, 12)); currentId++; } // Everyone at home at the beginning List <Person> p = new List <Person>(); p.AddRange(Adolescent.AdolescentList(Enums.HealthState.Infectious, 4, "LocationProbabilities")); p.AddRange(Adolescent.AdolescentList(Enums.HealthState.Susceptible, 4534, "LocationProbabilities")); p.AddRange(Adult.AdultList(Enums.HealthState.Infectious, 4, "LocationProbabilities")); p.AddRange(Adult.AdultList(Enums.HealthState.Susceptible, 14812, "LocationProbabilities")); p.AddRange(Child.ChildList(Enums.HealthState.Infectious, 4, "LocationProbabilities")); p.AddRange(Child.ChildList(Enums.HealthState.Susceptible, 1511, "LocationProbabilities")); p.AddRange(Elder.ElderList(Enums.HealthState.Infectious, 4, "LocationProbabilities")); p.AddRange(Elder.ElderList(Enums.HealthState.Susceptible, 5441, "LocationProbabilities")); p.AddRange(Youngster.YoungsterList(Enums.HealthState.Infectious, 4, "LocationProbabilities")); p.AddRange(Youngster.YoungsterList(Enums.HealthState.Susceptible, 3930, "LocationProbabilities")); for (int i = 0; i < p.Count; i++) { int homeNum = i % homeCount; Person a = p[i]; homes[homeNum].agentData.Add(new AddAgentMessage(MessageTransportSystem.Instance.Id, a.GetType().Name, a.GetId(), a.GetHealthState(), 1)); this.agentLocations[a.GetId()] = Containers.Instance[homes[homeNum].containerId]; } messagesToSend.AddRange(homes); this.totalAgents = p.Count; // Messages for hospital containers creation List <AddContainerMessage> hospitals = new List <AddContainerMessage>(); for (int i = 0; i < hospitalCount; i++) { hospitals.Add(new AddContainerMessage(MessageTransportSystem.Instance.Id, Enums.ContainerType.Hospital, currentId, 237, 19)); Containers.Instance.Add(currentId, new Hospital(currentId, 237, 19)); currentId++; } messagesToSend.AddRange(hospitals); // Messages for mall containers creation List <AddContainerMessage> malls = new List <AddContainerMessage>(); for (int i = 0; i < mallCount; i++) { malls.Add(new AddContainerMessage(MessageTransportSystem.Instance.Id, Enums.ContainerType.Mall, currentId, 578, 90)); Containers.Instance.Add(currentId, new Mall(currentId, 578, 90)); currentId++; } messagesToSend.AddRange(malls); // Messages for office containers creation List <AddContainerMessage> offices = new List <AddContainerMessage>(); for (int i = 0; i < officeCount; i++) { offices.Add(new AddContainerMessage(MessageTransportSystem.Instance.Id, Enums.ContainerType.Office, currentId, 236, 20)); Containers.Instance.Add(currentId, new Office(currentId, 236, 20)); currentId++; } messagesToSend.AddRange(offices); // Messages for univercity containers creation List <AddContainerMessage> univercities = new List <AddContainerMessage>(); for (int i = 0; i < univercityCount; i++) { univercities.Add(new AddContainerMessage(MessageTransportSystem.Instance.Id, Enums.ContainerType.University, currentId, 300, 25)); Containers.Instance.Add(currentId, new University(currentId, 300, 25)); currentId++; } messagesToSend.AddRange(univercities); // Messages for school containers creation List <AddContainerMessage> schools = new List <AddContainerMessage>(); for (int i = 0; i < schoolCount; i++) { schools.Add(new AddContainerMessage(MessageTransportSystem.Instance.Id, Enums.ContainerType.School, currentId, 237, 19)); Containers.Instance.Add(currentId, new School(currentId, 237, 19)); currentId++; } messagesToSend.AddRange(schools); // Messages for nursery containers creation List <AddContainerMessage> nurseries = new List <AddContainerMessage>(); for (int i = 0; i < nurseryCount; i++) { nurseries.Add(new AddContainerMessage(MessageTransportSystem.Instance.Id, Enums.ContainerType.Nursery, currentId, 60, 23)); Containers.Instance.Add(currentId, new Nursery(currentId, 60, 23)); currentId++; } messagesToSend.AddRange(nurseries); // Now sending all messages equally spread to all CS workers and saving what container on what worker this.containers2workers.Clear(); Dictionary <Message, Guid> res = MessageTransportSystem.Instance.SendSpread(messagesToSend); foreach (var r in res) { AddContainerMessage message = (AddContainerMessage)r.Key; Guid workerId = r.Value; this.containers2workers[message.containerId] = workerId; } }
public static Agent CreateAgent(AgentClass type_of_agent) { int[] agent_data = AgentHelper.pickAgent(type_of_agent); // If Kid if (type_of_agent == AgentClass.Kid) { // Instantiate prefab prefab = Resources.Load(AgentUtils.getCitizenPath(type_of_agent)) as GameObject; agent_obj = GameObject.Instantiate(prefab) as GameObject; // Add component to new agent new_agent = Kid.CreateComponent(agent_obj, (CitizenGender)agent_data[0], (KidVariation)agent_data[1], (CitizenTraits)agent_data[2], (KidEducation)agent_data[3]); } // If Adult else if (type_of_agent == AgentClass.Adult) { // Instantiate prefab prefab = Resources.Load(AgentUtils.getCitizenPath(type_of_agent)) as GameObject; agent_obj = GameObject.Instantiate(prefab) as GameObject; // Add component to new agent new_agent = Adult.CreateComponent(agent_obj, (CitizenGender)agent_data[0], (AdultVariation)agent_data[1], (CitizenTraits)agent_data[2], (AdultEducation)agent_data[3]); } // If Elder else if (type_of_agent == AgentClass.Elder) { // Instantiate prefab prefab = Resources.Load(AgentUtils.getCitizenPath(type_of_agent)) as GameObject; agent_obj = GameObject.Instantiate(prefab) as GameObject; // Add component to new agent new_agent = Elder.CreateComponent(agent_obj, (CitizenGender)agent_data[0], (ElderVariation)agent_data[1], (CitizenTraits)agent_data[2], (ElderEducation)agent_data[3]); } // If Car else if (type_of_agent == AgentClass.Car) { // Instantiate prefab prefab = Resources.Load(AgentUtils.getCarPath(agent_data[0])) as GameObject; agent_obj = GameObject.Instantiate(prefab) as GameObject; // Add component to new agent new_agent = Car.CreateComponent(agent_obj, (CarVariation)agent_data[1]); } // If Airplane else if (type_of_agent == AgentClass.Airplane) { // Instantiate prefab prefab = Resources.Load(AgentUtils.getAirplanePath(agent_data[0])) as GameObject; agent_obj = GameObject.Instantiate(prefab) as GameObject; // Add component to new agent new_agent = Airplane.CreateComponent(agent_obj, (AirplaneVariation)agent_data[1]); } // If Boat else if (type_of_agent == AgentClass.Boat) { // Instantiate prefab prefab = Resources.Load(AgentUtils.getBoatPath(agent_data[0])) as GameObject; agent_obj = GameObject.Instantiate(prefab) as GameObject; // Add component to new agent new_agent = Boat.CreateComponent(agent_obj, (BoatVariation)agent_data[1]); } return(new_agent); }
private void onAddAgentMessage(Message message, ContainersCore container = null) { AddAgentMessage aaMessage = (AddAgentMessage)message; List <IAgent> ags = new List <IAgent>(); GlobalAgentDescriptorTable.GetNewId = aaMessage.agentId; switch (aaMessage.agentType) { case "Adolescent": ags.AddRange(Adolescent.AdolescentList(aaMessage.state, aaMessage.count, "LocationProbabilities")); break; case "Adult": ags.AddRange(Adult.AdultList(aaMessage.state, aaMessage.count, "LocationProbabilities")); break; case "Child": ags.AddRange(Child.ChildList(aaMessage.state, aaMessage.count, "LocationProbabilities")); break; case "Elder": ags.AddRange(Elder.ElderList(aaMessage.state, aaMessage.count, "LocationProbabilities")); break; case "Youngster": ags.AddRange(Youngster.YoungsterList(aaMessage.state, aaMessage.count, "LocationProbabilities")); break; } foreach (IAgent a in ags) { if (container == null) { int containerId = aaMessage.containerId; if (containerId > 0) { if (Containers.Instance.ContainsKey(containerId)) { var foundContainer = Containers.Instance[containerId]; AbstractPerson ap = (AbstractPerson)a; ap.currentContainerId = containerId; ap.currentContainerType = foundContainer.ContainerType; } else { Trace.TraceWarning("Agent was added to moved to another node container. Moving him again"); CoreAMS.MessageTransportSystem.MessageTransfer.Instance.AddToGoto((AbstractPerson)a, Enums.ContainerType.Home); } } } else { AbstractPerson ap = (AbstractPerson)a; ap.currentContainerId = container.Id; ap.currentContainerType = container.ContainerType; } } GlobalAgentDescriptorTable.AddAgents(ags); //foreach (var ag in ags) { // Trace.TraceInformation("Added agent with id {0} (check: {1})", ag.GetId(), aaMessage.agentId); //} }
static void Main(string[] args) { var printToConsole = new PrinterConsole(); var printToFile = new PrinterFile(); var femaleChild = new Child { Category = "Child", Sex = "Female", LowestPossibleAge = 0, HighestPossibleAge = 12 }; printToConsole.AddElement(femaleChild.Show()); printToFile.AddElement(femaleChild.Show()); var femaleTeenager = new Teenager { Category = "Teenager", Sex = "Female", LowestPossibleAge = 13, HighestPossibleAge = 19 }; printToConsole.AddElement(femaleTeenager.Show()); printToFile.AddElement(femaleTeenager.Show()); var femaleAdult = new Adult { Category = "Adult", Sex = "Female", LowestPossibleAge = 20, HighestPossibleAge = 64 }; printToConsole.AddElement(femaleAdult.Show()); printToFile.AddElement(femaleAdult.Show()); var femaleElder = new Elder { Category = "Elder", Sex = "Female", LowestPossibleAge = 65, HighestPossibleAge = 110 }; printToConsole.AddElement(femaleElder.Show()); printToFile.AddElement(femaleElder.Show()); var maleChild = new Child { Category = "Child", Sex = "Male", LowestPossibleAge = 0, HighestPossibleAge = 12 }; printToConsole.AddElement(maleChild.Show()); printToFile.AddElement(maleChild.Show()); var maleTeenager = new Teenager { Category = "Teenager", Sex = "Male", LowestPossibleAge = 13, HighestPossibleAge = 19 }; printToConsole.AddElement(maleTeenager.Show()); printToFile.AddElement(maleTeenager.Show()); var maleAdult = new Adult { Category = "Adult", Sex = "Male", LowestPossibleAge = 20, HighestPossibleAge = 64 }; printToConsole.AddElement(maleAdult.Show()); printToFile.AddElement(maleAdult.Show()); var maleElder = new Elder { Category = "Elder", Sex = "Male", LowestPossibleAge = 65, HighestPossibleAge = 110 }; printToConsole.AddElement(maleElder.Show()); printToFile.AddElement(maleElder.Show()); printToConsole.Print(); printToFile.Print(); }