public void TestAddConnected() { var group = new EntityGroup(); var e = new Entity4(); var e2 = new Entity4(); group.Add(e, true); group.Add(e2); Assert.AreEqual(2, group.GetEntities <Entity4>().Count); Assert.AreEqual(1, group.GetEntities <Entity3>().Count); Assert.AreEqual(1, group.GetEntities <Entity1>().Count); }
public void AddEntitiesTest() { var group = new EntityGroup(); for (var i = 0; i < 5; i++) { var entity = group.Add(new Entity1()); Assert.AreEqual(i, entity.Reference.Index); } Assert.AreEqual(5, group.GetEntities <Entity1>().Count); for (var i = 0; i < 5; i++) { var entity = group.Add(new Entity2()); Assert.AreEqual(i, entity.Reference.Index); } Assert.AreEqual(5, group.GetEntities <Entity2>().Count); }
public void RemoveEntitiesTest() { var group = new EntityGroup(); var descs = new Entity1[5]; for (var i = 0; i < 5; i++) { descs[i] = group.Add(new Entity1()); } for (var i = 0; i < 5; i++) { group.Remove(descs[i]); } Assert.AreEqual(0, group.GetEntities <Entity1>().Count); }
private static Entities JoinInternal(EntityGroup g, string pname, object k) { var rlt = new Entities(); Entities list = g.GetEntities(); PropertyInfo info = null; foreach (Entity i in list) { if (info == null) { Type type = i.GetType(); info = type.GetProperty(pname); } if (k.Equals(info.GetValue(i))) { rlt.Add(i); } } return rlt; }
void UdgOnGridLoad() { users = StorageManager.Instance.CreateOrGet("Users"); roles = StorageManager.Instance.CreateOrGet("UserRoles"); UserRole admin = roles.AddEntity<UserRole>(new UserRole { RoleName = "Administrator" }); UserRole power = roles.AddEntity<UserRole>(new UserRole { RoleName = "PowerUser" }); for (int i = 0; i < 10; i++) { users.AddEntity<User>(new User { Username = "******" + i, Password = "******" + i, RoleId = i % 2 == 0 ? admin.ObjectKey : power.ObjectKey }); } udg.Gv.DataSource = roles.GetEntities<UserRole>(); //users.GetEntities<User>(); udg.Gv.CellClick += Gv_CellClick; }
private void udg_OnGridLoad() { articles = StorageManager.Instance.CreateOrGet("Articles"); tags = StorageManager.Instance.CreateOrGet("Tags"); var ts = new Tag[3]; ts[0] = tags.AddEntity<Tag>(new Tag {Name = "news"}); ts[1] = tags.AddEntity<Tag>(new Tag {Name = "adv"}); ts[2] = tags.AddEntity<Tag>(new Tag {Name = "depth"}); for (int i = 0; i < 10; i++) { Article a = articles.AddEntity<Article>(new Article {Caption = "cap_" + i, Content = "content_" + i}); for (int j = 0; j <= i%3; j++) { a.Tags.AddJoint(ts[j].ObjectKey); } } articles.Link(); udg.Gv.DataSource = articles.GetEntities<Article>(); udg.Gv.CellClick += GvDetails_CellClick; }
protected virtual void SaveEntities(EntityGroup entities) { string name = EntityGroupName(entities); if (!Directory.Exists(name)) { Directory.CreateDirectory(RootDir + name); } Entities list = entities.GetEntities(); foreach (Entity i in list) { SaveEntity(i); } }