Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
    }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 8
0
 public Node(FlatObject baseObject, IList <Node> children)
 {
     this.ID       = baseObject.Id;
     this.Title    = baseObject.Title;
     this.Children = children;
 }