public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var result = new FlatObject(); var startDepth = reader.Depth; var pathLength = reader.Path.Length + 1; while (reader.Read()) { switch (reader.TokenType) { case JsonToken.Integer: case JsonToken.Float: case JsonToken.String: case JsonToken.Boolean: case JsonToken.Null: case JsonToken.Date: case JsonToken.Bytes: result.Add(reader.Path.Substring(pathLength), reader.Value); break; case JsonToken.EndObject: if (reader.Depth == startDepth) { return(result); } break; default: break; } } return(result); }
private static List <FlatObject> CreateUserAdditionalMenuHierachy(IList <Core.Domain.Spartan_Additional_Menu.Spartan_Additional_Menu> userAdditionalMenu) { List <FlatObject> lstFlatObject = new List <FlatObject>(); foreach (Spartan_Additional_Menu spartanModule in userAdditionalMenu) { FlatObject flatObject = new FlatObject(spartanModule.MenuName, spartanModule.idMenu, spartanModule.ParentMenu ?? 0, 0, null); lstFlatObject.Add(flatObject); } return(lstFlatObject); }
public static IList <FlatObject> GetAllChildren(this FlatObject flatObject, IList <FlatObject> allItems) { var allChildren = new List <FlatObject>(); var children = allItems.Where(x => x.ParentID == flatObject.ID).ToList(); allChildren.AddRange(children); foreach (var child in children) { allChildren.AddRange(child.GetAllChildren(allItems)); } return(allChildren); }
/// <summary> /// Method to create Module Structure from Spartane Modules obtained /// </summary> /// <param name="result"></param> /// <remarks> /// /// </remarks> /// <returns></returns> private static List <FlatObject> CreateModuleHierarchy(IList <SpartanModule> result) { List <FlatObject> lstFlatObject = new List <FlatObject>(); foreach (SpartanModule spartanModule in result) { FlatObject flatObject = new FlatObject(spartanModule.Name, spartanModule.Module_Id, spartanModule.Parent_Module ?? 0, spartanModule.Order_Shown, Convert.ToInt32(spartanModule.Image)); lstFlatObject.Add(flatObject); } return(lstFlatObject); }
public void Should_Return_Valid_Dictionary_Parser_For_Plain_Object() { var plainObject = new FlatObject { Int = 1, Str = "str", Time = DateTime.UtcNow }; var parser = ObjectToDictionaryConverter.GetConverter(plainObject.GetType()); var dictionary = parser.ConvertFromObject(plainObject); Assert.AreEqual(plainObject.Int, (int)dictionary[nameof(plainObject.Int)]); Assert.AreEqual(plainObject.Str, (string)dictionary[nameof(plainObject.Str)]); Assert.AreEqual(plainObject.Time, (DateTime)dictionary[nameof(plainObject.Time)]); }
/// <summary> /// Method to create Module Structure from Spartane Modules obtained /// </summary> /// <param name="result"></param> /// <remarks> /// /// </remarks> /// <returns></returns> private List <FlatObject> CreateModuleHierarchy(IList <SpartanModule> result) { List <FlatObject> lstFlatObject = new List <FlatObject>(); string moduleName; foreach (SpartanModule spartanModule in result) { moduleName = Modules.GetModuleValueById(spartanModule.Module_Id); FlatObject flatObject = new FlatObject(moduleName, spartanModule.Module_Id, spartanModule.Parent_Module ?? 0, spartanModule.Order_Shown); lstFlatObject.Add(flatObject); } return(lstFlatObject); }
public void Should_Return_Same_Object_From_Cache_For_Plain_Object() { var firstAnonymousObject = new FlatObject { Int = 1, Str = "str", Time = DateTime.UtcNow }; var first = ObjectToDictionaryConverter.GetConverter(firstAnonymousObject.GetType()); var secondAnonymousObject = new FlatObject { Int = 2, Str = "str2", Time = DateTime.Now }; var second = ObjectToDictionaryConverter.GetConverter(secondAnonymousObject.GetType()); Assert.AreSame(first, second); }
public Node(FlatObject baseObject, IList <Node> children) { this.ID = baseObject.Id; this.Title = baseObject.Title; this.Children = children; }