public static string RenderForm(Core.IRequest request, PartialViewKeys type, Dictionary <string, object> data, Vendor.PartialViews.Container container) { if (Core.Vendors.PartialViews.ContainsKey(type)) { var html = new StringBuilder(); if (container != Vendor.PartialViews.Container.None) { var view = new View("/Views/Shared/PartialViews/" + container.ToString().ToLower() + ".html"); foreach (var partialview in Core.Vendors.PartialViews[type]) { view.Clear(); view["content"] = partialview.RenderForm(request, data); view["title"] = partialview.Title; view["id"] = partialview.Title.ToLower().ReplaceOnlyAlphaNumeric(true, false, true).Replace(" ", "-"); view["menu"] = RenderMenu(partialview); html.Append(view.Render()); } } else { foreach (var partialview in Core.Vendors.PartialViews[type]) { html.Append(partialview.RenderForm(request, data)); } } return(html.ToString()); } return(""); }
public static void Update(Core.IRequest request, int boardId, string name, string color, int orgId, string cardtype) { //check if user has access to board if (!Query.Boards.MemberExists(request.User.UserId, boardId)) { throw new ServiceDeniedException(); } //finally, update board try { Query.Boards.UpdateBoard(new Query.Models.Board() { name = name, boardId = boardId, color = color, orgId = orgId, cardtype = cardtype }); } catch (Exception) { throw new ServiceErrorException("Error updating existing board"); } }
public static void Save(Core.IRequest request, Dictionary <string, string> parameters, PartialViewKeys type, Dictionary <string, object> data) { if (Core.Vendors.PartialViews.ContainsKey(type)) { foreach (var partialview in Core.Vendors.PartialViews[type]) { partialview.Save(request, parameters, data); } } }
public static string RenderList(int userId, Core.IRequest request) { var createView = new View("/Views/Boards/create-board.html"); var orgView = new View("/Views/Boards/org-head.html"); var boards = Query.Boards.GetList(userId); var html = new StringBuilder(); var item = new View("/Views/Boards/list-item.html"); var orgId = 0; var canCreate = false; boards.ForEach((Query.Models.Board b) => { //check organization if (orgId != b.orgId) { canCreate = request.CheckSecurity(orgId, Security.Keys.BoardCanCreate.ToString()); if (orgId > 0) { if (canCreate) { createView["onclick"] = "S.boards.add.show(null, null, '', " + orgId + ")"; html.Append(createView.Render()); } html.Append("</div>"); } orgView.Clear(); orgView["name"] = b.orgName; orgId = b.orgId; html.Append(orgView.Render()); html.Append("<div class=\"org-boards\">"); } item["favorite"] = b.favorite ? "1" : ""; item["name"] = b.name; item["color"] = "#" + b.color; item["extra"] = b.favorite ? "fav" : ""; item["id"] = b.boardId.ToString(); item["orgId"] = orgId.ToString(); item["type"] = b.type.ToString(); item["url"] = GetUrl(b.boardId, b.name); html.Append(item.Render()); }); if (request.CheckSecurity(orgId, Security.Keys.BoardCanCreate.ToString())) { createView["onclick"] = "S.boards.add.show(null, null, '', " + orgId + ")"; html.Append(createView.Render()); } html.Append("</div>"); return(html.ToString()); }
public static int Create(Core.IRequest request, int orgId, string name, string description = "") { try { return(Query.Teams.Create(new Query.Models.Team() { orgId = orgId, name = name, description = description }, request.User.UserId)); } catch (Exception) { throw new ServiceErrorException("Error creating new team"); } }
public static string RenderList(Core.IRequest request, int orgId, int page = 1, int length = 10, string search = "", string onclick = "") { var listItem = new View("/Views/Members/list-item.html"); var html = new StringBuilder(); var members = Query.Organizations.GetMembers(orgId, page, length, search); foreach (var member in members) { listItem.Clear(); listItem.Bind(new { member }); listItem["click"] = (onclick != "" ? onclick : "S.user.details.show") + "(" + member.userId + ", " + orgId + ", '" + member.name + "')"; html.Append(listItem.Render()); } return(html.ToString()); }
public static string RenderMembers(Core.IRequest request, int teamId) { var listItem = new View("/Views/Members/list-item.html"); var html = new StringBuilder(); var members = Query.Teams.GetMembers(teamId); foreach (var member in members) { if (member.title == "") { member.title = "Member"; } listItem.Clear(); listItem.Bind(new { member }); listItem["click"] = "S.teams.members.details.show(" + member.userId + ", '" + member.name + "')"; html.Append(listItem.Render()); } return(html.ToString()); }
public static int Create(Core.IRequest request, string name, string color, int orgId, string cardtype) { try { var id = Query.Boards.CreateBoard(new Query.Models.Board() { name = name, color = color, orgId = orgId, cardtype = cardtype }, request.User.UserId); //add board Id to user's permissions for boards request.User.Boards.Add(id); request.User.Save(true); return(id); }catch (Exception) { throw new ServiceErrorException("Error creating new board"); } }
public static string RenderList(Core.IRequest request, int orgId, bool showMembers = true) { var listItem = new View("/Views/Teams/list-item.html"); var html = new StringBuilder(); var teams = Query.Teams.GetList(orgId, request.User.UserId); foreach (var team in teams) { listItem.Clear(); listItem.Bind(new { team }); if (team.totalMembers != 1) { listItem.Show("plural"); } listItem["click"] = "S.orgs.teams.details(" + team.teamId + ", '" + team.name.Replace("'", "\\'").Replace("\"", """) + "')"; if (showMembers) { listItem.Show("subtitle"); } html.Append(listItem.Render()); } return(html.ToString()); }
public static void UseAllColorScheme(Core.IRequest request, bool allColor) { Query.Users.AllColor(request.User.UserId, allColor); request.User.AllColor = allColor; request.User.Save(true); }
public static void KeepBoardsMenuOpen(Core.IRequest request, bool keepOpen) { Query.Users.KeepMenuOpen(request.User.UserId, keepOpen); request.User.KeepMenuOpen = keepOpen; request.User.Save(true); }
public static string RenderSideBar(Core.IRequest request, int orgId = 0, bool listOnly = false, bool showSubTitle = true, int sort = 0, bool btnsInFront = false) { var html = new StringBuilder(); var htm = new StringBuilder(); var sidebar = new View("/Views/Board/sidebar.html"); var menu = new View("/Views/Board/menu.html"); var item = new View("/Views/Board/menu-item.html"); var boards = Query.Boards.GetList(request.User.UserId, orgId, (Query.Boards.BoardsSort)sort); var favs = boards.Where((a) => { return(a.favorite); }); // Favorite Boards ////////////////////////////////////////// if (favs.Any()) { menu["title"] = "Starred Boards"; menu["id"] = "favs"; menu["icon"] = "star-border-sm"; htm = new StringBuilder(); foreach (var fav in favs) { item["id"] = fav.boardId.ToString(); item["url"] = "/board/" + fav.boardId + "/" + fav.name.Replace(" ", "-").ToLower(); item["color"] = "#" + fav.color; item["title"] = fav.name; item["owner"] = fav.orgName; item["star"] = fav.favorite ? "star" : "star-border"; if (showSubTitle) { item.Show("subtitle"); } htm.Append(item.Render()); } menu["items"] = htm.ToString(); } // Boards (sorted by organization, favorite, alphabetical) ////////////////////////////////////////// if (boards.Any()) { var isnewOrg = true; htm = new StringBuilder(); foreach (var board in boards) { if (board.orgId != orgId) { if (orgId > 0 && htm.ToString() != "") { menu["items"] = htm.ToString(); htm.Clear(); html.Append(menu.Render()); } isnewOrg = true; orgId = board.teamId; } if (isnewOrg == true) { menu["title"] = board.orgName; menu["id"] = "org" + board.orgId.ToString(); menu["icon"] = "user"; } item["id"] = board.boardId.ToString(); item["orgId"] = orgId.ToString(); item["url"] = "/board/" + board.boardId + "/" + board.name.Replace(" ", "-").ToLower(); item["color"] = "#" + board.color; item["title"] = board.name; item["owner"] = board.orgName; item["star"] = board.favorite ? "star" : "star-border"; if (showSubTitle) { item.Show("subtitle"); } htm.Append(item.Render()); } menu["items"] = htm.ToString(); } if (menu["items"] != "") { //add new board button if (request.User.CheckSecurity(orgId, new string[] { Security.Keys.BoardCanCreate.ToString(), Security.Keys.BoardsFullAccess.ToString() })) { var additem = new View("/Views/Boards/add-item.html"); menu["items"] = btnsInFront ? (additem.Render() + menu["items"]) : (menu["items"] + additem.Render()); } //finally, render menu if (listOnly) { return(menu["items"]); } html.Append(menu.Render()); } sidebar["items"] = html.ToString(); return(sidebar.Render()); }
public static string RenderForm(Core.IRequest request, PartialViewKeys type, Dictionary <string, object> data, Container container) { return(Core.Delegates.PartialViews.RenderForm(request, type, data, container)); }
public static void Save(Core.IRequest request, Dictionary <string, string> parameters, PartialViewKeys type, Dictionary <string, object> data) { Core.Delegates.PartialViews.Save(request, parameters, type, data); }