public void AddShortcutDefinition(String name)
        {
            if (null == shortCutService.GetEntityByName(name))
            {
                ShortcutDefDAO item = new ShortcutDefDAO();
                item.Name = name;

                shortCutService.SaveEntity(item);
            }
        }
        public static ShortcutDefDAO ShortcutDefinitionToDao(ShortcutDefinition definition)
        {
            ShortcutDefDAO result = new ShortcutDefDAO();

            result.Id = definition.Id;
            result.Idx = definition.Idx;
            result.Name = definition.Name;
            result.Active = definition.Active;
            result.ProcessName = definition.ProcessName;

            foreach (KeyValuePair<InteractionGesture, ShortcutItem> item in definition.GestureMap)
            {
                result.GestureMap.Add(item.Key.ToString(), ShortcutItemToDao(item.Value));
            }

            return result;
        }
        public static ShortcutDefinition DaoToShortcutDefinition(ShortcutDefDAO dao)
        {
            ShortcutDefinition result = new ShortcutDefinition();

            result.Id = dao.Id;
            result.Idx = dao.Idx;
            result.Name = dao.Name;
            result.Active = dao.Active;
            result.ProcessName = dao.ProcessName;

            foreach (KeyValuePair<String, ShortcutItemDAO> item in dao.GestureMap)
            {
                InteractionGesture gesture;
                if (Enum.TryParse<InteractionGesture>(item.Key, out gesture))
                {
                    result.GestureMap[gesture] = DaoToShortcutItem(item.Value);
                }
            }
            return result;
        }