コード例 #1
0
        public override string Render(string[] path, string body = "", object metadata = null)
        {
            if (User.userId == 0)
            {
                //load login page
                var page = new Login(context);
                return(page.Render(path));
            }
            //load boards list
            var scaffold = new Scaffold("/Views/Boards/boards.html", Server.Scaffold);

            var query  = new Query.Boards();
            var boards = query.GetList(User.userId);
            var html   = new StringBuilder();
            var item   = new Scaffold("/Views/Boards/list-item.html", Server.Scaffold);

            boards.ForEach((Query.Models.Board b) => {
                item.Data["favorite"] = b.favorite ? "1" : "";
                item.Data["name"]     = b.name;
                item.Data["color"]    = "#" + b.color;
                item.Data["extra"]    = b.favorite ? "fav" : "";
                item.Data["id"]       = b.boardId.ToString();
                item.Data["type"]     = b.type.ToString();
                item.Data["url"]      = Uri.EscapeUriString("/board/" + b.boardId + "/" + b.name.Replace(" ", "-").ToLower());
                html.Append(item.Render());
            });
            scaffold.Data["list"] = html.ToString();

            //load teams list
            var queryTeams = new Query.Teams();
            var teams      = queryTeams.GetList(User.userId);

            html = new StringBuilder();
            teams.ForEach((Query.Models.Team t) =>
            {
                html.Append("<option value=\"" + t.teamId + "\">" + t.name + "</option>\n");
            });
            scaffold.Data["team-options"] = html.ToString();

            //load page resources
            AddScript("/js/dashboard.js");
            AddCSS("/css/dashboard.css");

            //load header
            LoadHeader(ref scaffold, false);

            //render page
            return(base.Render(path, scaffold.Render()));
        }
コード例 #2
0
        public string List()
        {
            if (!CheckSecurity())
            {
                return(AccessDenied());
            }                                                //check security
            var query = new Query.Teams();
            var list  = query.GetList(User.userId);
            var html  = new StringBuilder("{\"teams\":[");
            var i     = 0;

            list.ForEach((Query.Models.Team t) =>
            {
                html.Append((i > 0 ? "," : "") + "{\"name\":\"" + t.name + "\", \"description\":\"" + t.description + "\",\"teamId\":\"" + t.teamId + "\"}");
                i++;
            });
            html.Append("]}");
            return(html.ToString());
        }
コード例 #3
0
 public static int Create(Datasilk.Request request, string name, string description = "")
 {
     try
     {
         var query = new Query.Teams();
         return(query.CreateTeam(new Query.Models.Team()
         {
             name = name,
             description = description,
             ownerId = request.User.userId,
             website = "",
             security = true
         }));
     }
     catch (Exception)
     {
         throw new ServiceErrorException("Error creating new team");
     }
 }