Advertisement
chekalin-v

Untitled

Apr 23rd, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.36 KB | None | 0 0
  1. //write entity with map and array field
  2. var schema3 =
  3.     Schema.Lookup(new Guid("1899FD3C-7046-4B53-945A-AA1370B8C577"));
  4.  
  5. if (schema3 == null)
  6. {
  7.     schema3 = CreateComplexSchema();
  8. }
  9.  
  10. var entity4 =
  11.     new Entity(schema3);
  12.  
  13. entity4.Set("SimpleField", "Hello, Simple entity");
  14.  
  15. //Array field
  16. IList<Entity> listOfEntities =
  17.     new List<Entity>();
  18.  
  19. var entity5 =
  20.     new Entity(new Guid("4E5B6F62-B8B3-4A2F-9B06-DDD953D4D4BC"));
  21. entity5.Set("SomeValue", 5);
  22.  
  23. var entity6 =
  24.     new Entity(new Guid("4E5B6F62-B8B3-4A2F-9B06-DDD953D4D4BC"));
  25. entity6.Set("SomeValue", 6);
  26.  
  27. listOfEntities.Add(entity5);
  28. listOfEntities.Add(entity6);
  29.  
  30. entity4.Set("ArrayField", listOfEntities);
  31.  
  32. //Map fields
  33. IDictionary<int, Entity> mapOfEntities =
  34.     new Dictionary<int, Entity>();
  35.  
  36. var entity7 =
  37.     new Entity(new Guid("4E5B6F62-B8B3-4A2F-9B06-DDD953D4D4BC"));
  38. entity7.Set("SomeValue", 7);
  39.  
  40. var entity8 =
  41.     new Entity(new Guid("4E5B6F62-B8B3-4A2F-9B06-DDD953D4D4BC"));
  42. entity8.Set("SomeValue", 8);
  43.  
  44. mapOfEntities.Add(7, entity7);
  45. mapOfEntities.Add(8, entity8);
  46.  
  47. entity4.Set("MapField", mapOfEntities);
  48.  
  49. element.SetEntity(entity4);
  50.  
  51.  
  52. //Change value in map field
  53.  
  54. var entity10 =
  55.     element.GetEntity(schema3);
  56.  
  57. var mapField =
  58.     entity10.Get<IDictionary<int, Entity>>("MapField");
  59. if (mapField != null)
  60. {
  61.     if (mapField.ContainsKey(8))
  62.     {
  63.         var entity11 = mapField[8];
  64.         entity11.Set("SomeValue", 999);
  65.                    
  66.         // write changes =
  67.         entity10.Set("MapField", mapField);
  68.  
  69.         element.SetEntity(entity10);
  70.     }
  71. }
  72.  
  73.  
  74. private Schema CreateComplexSchema()
  75. {
  76.     SchemaBuilder schemaBuilder =
  77.         new SchemaBuilder(new Guid("1899FD3C-7046-4B53-945A-AA1370B8C577"));
  78.     schemaBuilder.SetSchemaName("ComplexSchema");
  79.     schemaBuilder.AddSimpleField("SimpleField", typeof (string));
  80.     var arrayField =
  81.         schemaBuilder.AddArrayField("ArrayField", typeof (Entity));
  82.     arrayField.SetSubSchemaGUID(new Guid("4E5B6F62-B8B3-4A2F-9B06-DDD953D4D4BC"));
  83.     arrayField.SetDocumentation("Demonstrate features of an array fields");
  84.  
  85.     var mapField = schemaBuilder.AddMapField("MapField", typeof (int), typeof (Entity));
  86.     mapField.SetSubSchemaGUID(new Guid("4E5B6F62-B8B3-4A2F-9B06-DDD953D4D4BC"));
  87.     mapField.SetDocumentation("Map field documentation");
  88.  
  89.     return schemaBuilder.Finish();
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement