public NovicellMapBuilderDataModel GetDataSource(int id)
 {
     using (_db)
     {
         var sql = string.Format("SELECT * FROM {0} WHERE id = {1}", StaticHelper.GetDataTableName(), id);
         return(_db.Query <NovicellMapBuilderDataModel>(sql).FirstOrDefault());
     }
 }
        protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
        {
            var nodes = new TreeNodeCollection();

            string[] rootNodes = { "Maps", "Data" };
            var      ts        = Services.TextService;

            if (id == Constants.System.Root.ToInvariantString())
            {
                foreach (var rootNode in rootNodes)
                {
                    var icon  = "icon-map";
                    var title = ts.Localize("ncmb/maps");
                    if (rootNode == "Data")
                    {
                        icon  = "icon-settings";
                        title = ts.Localize("ncmb/data");
                    }

                    var hasChildren = false;
                    if (rootNode == "Maps")
                    {
                        var mapsItems = Db.ExecuteScalar <int>("SELECT COUNT(Id) FROM " + StaticHelper.GetMapsTableName());
                        hasChildren = mapsItems > 0;
                    }
                    else if (rootNode == "Data")
                    {
                        var dataItems = Db.ExecuteScalar <int>("SELECT COUNT(Id) FROM " + StaticHelper.GetDataTableName());
                        hasChildren = dataItems > 0;
                    }


                    var node = CreateTreeNode(rootNode, "-1", queryStrings, title, icon, hasChildren);

                    nodes.Add(node);
                }
            }
            else if (id == rootNodes[0])
            {
                var mapsItems = Db.Query <NovicellMapBuilderMapsModel>("SELECT * FROM " + StaticHelper.GetMapsTableName()).ToList();
                nodes.AddRange(mapsItems.Select(item => CreateTreeNode("map-" + item.Id.ToString(), rootNodes[0], queryStrings, item.Name, "icon-map-marker")));
            }
            else if (id == rootNodes[1])
            {
                var dataItems = Db.Query <NovicellMapBuilderDataModel>("SELECT * FROM " + StaticHelper.GetDataTableName()).ToList();
                nodes.AddRange(dataItems.Select(item => CreateTreeNode("data-" + item.Id.ToString(), rootNodes[1], queryStrings, item.Name, "icon-server-alt")));
            }

            return(nodes);
        }
        public List <NovicellMapBuilderDataModel> GetAllDataSources()
        {
            var sql = string.Format("SELECT * FROM {0}", StaticHelper.GetDataTableName());

            return(_db.Query <NovicellMapBuilderDataModel>(sql).ToList());
        }