Beispiel #1
0
        public IEnumerable <Dictionary <string, string> > GetMenu()
        {
            var s = new Stopwatch();

            s.Start();
            var type = _context.Types.FirstOrDefault(t => t.Name == "menuitem")
                       ?? throw new ArgumentException("menuitem doesn't exist in database");
            var entities = _context.Entities.Where(e => e.TypeId == type.Id);

            var entitiesProperties = new List <Dictionary <string, string> >();
            var propertyRepository = new PropertyRepository(_context);

            foreach (var entity in entities)
            {
                var dict  = new Dictionary <string, string>();
                var props = propertyRepository.GetByEntityId(entity.Id, type.Id).ToList();
                props.ForEach(x => dict.Add(x.Key, x.Value));
                entitiesProperties.Add(dict);
            }


            s.Stop();
            Console.WriteLine(s.ElapsedMilliseconds);
            return(entitiesProperties);
        }
Beispiel #2
0
        public IEnumerable <Entity> GetByTypeName(string typeName)
        {
            var type = _context.Types.FirstOrDefault(t => t.Name == typeName);
            var propertyRepository = new PropertyRepository(_context);
            var propertyName       = propertyRepository.GetAttributeValue(typeName, "display");
            var entities           = _context.Entities.Where(e => e.TypeId == type.Id);

            foreach (var entity in entities)
            {
                entity.Display = propertyRepository.GetByPropertyName(propertyName, typeName, entity.Id).Value;
            }

            return(entities);
        }