public static Query.Models.Card Create(int boardId, int listId, string name, string description = "", DateTime?dateDue = null, string colors = "") { var query = new Query.Cards(); var card = new Query.Models.Card() { boardId = boardId, listId = listId, name = name, colors = colors, description = description, datedue = dateDue, datecreated = DateTime.Now }; try { var id = query.Create(card); card.cardId = id; return(card); } catch (ServiceErrorException) { throw new ServiceErrorException("Error creating new card"); } }
public string LoadCardHtml(Query.Models.Card card) { if (!CheckSecurity()) { return(AccessDenied()); } return(Common.Card.Kanban.RenderCard(this, card)); }
public string GetCard(int boardId, Query.Models.Card card) { //get card HTML based on board type (kanban, timeline, etc) switch (card.boardType) { case Query.Models.Board.BoardType.kanban: return(Common.Platform.Card.Kanban.RenderCard(card)); } return(""); }
public static string RenderCard(Query.Models.Card card) { var useLayout = false; View cardscaff; if (card.name.IndexOf("----") == 0) { //separator cardscaff = new View("/Views/Card/Kanban/Type/separator.html"); } else if (card.name.IndexOf("# ") == 0) { //header cardscaff = new View("/Views/Card/Kanban/Type/header.html"); cardscaff["name"] = card.name.TrimStart(new char[] { '#', ' ' }); } else { //card cardscaff = new View("/Views/Card/Kanban/Type/card.html"); useLayout = true; } if (useLayout == true) { //load card custom design var view = new View("/Views/Card/Kanban/Layout/" + card.layout.ToString() + ".html"); if (card.name.IndexOf("[x]") == 0 || card.name.IndexOf("[X]") == 0) { var checkmark = new View("/Views/Card/Kanban/Elements/checkmark.html"); view["name"] = checkmark.Render() + card.name.Substring(4); } else if (card.name.IndexOf("[!]") == 0 || card.name.IndexOf("[!]") == 0) { var checkmark = new View("/Views/Card/Kanban/Elements/warning.html"); view["name"] = checkmark.Render() + card.name.Substring(4); } else { view["name"] = card.name; } view["colors"] = ""; //render custom design inside card container cardscaff["layout"] = view.Render(); } //load card container cardscaff["id"] = card.cardId.ToString(); //render card container return(cardscaff.Render()); }
public static string RenderCard(Query.Models.Card card) { var type = "default"; var cardscaff = new Scaffold("/Views/Card/Kanban/card.html"); //load card custom design var scaffold = new Scaffold("/Views/Card/Kanban/Card/" + type + ".html"); scaffold.Data["title"] = card.name; scaffold.Data["colors"] = ""; //load card container cardscaff.Data["id"] = card.cardId.ToString(); //render custom design inside card container cardscaff.Data["layout"] = scaffold.Render(); //render card container return(cardscaff.Render()); }
public string GetCard(int boardId, Query.Models.Card card) { //check security var board = Query.Boards.GetInfo(boardId); if (!User.CheckSecurity(board.orgId, new string[] { Security.Keys.CardCanView.ToString(), Security.Keys.CardFullAccess.ToString() }, Models.Scope.Card, card.cardId) || !User.CheckSecurity(board.orgId, new string[] { Security.Keys.BoardCanView.ToString(), Security.Keys.BoardsFullAccess.ToString(), Security.Keys.BoardsCanViewAll.ToString() }, Models.Scope.Board, boardId) ) { return(AccessDenied()); } //get card HTML based on board type (kanban, timeline, etc) switch (card.boardType) { case Query.Models.Board.BoardType.kanban: return(Common.Card.Kanban.RenderCard(this, card)); } return(""); }
public static string RenderCard(IRequest request, Query.Models.Card card, string boardColor = "", string boardName = "") { var useLayout = false; View cardview; if (card.name.IndexOf("----") == 0) { //separator cardview = new View("/Views/Card/Kanban/Type/separator.html"); } else if (card.name.IndexOf("# ") == 0) { //header cardview = new View("/Views/Card/Kanban/Type/header.html"); cardview["name"] = card.name.TrimStart(new char[] { '#', ' ' }); } else if (card.layout == Query.Models.Card.CardLayout.custom && card.type != "" && Core.Vendors.Cards.ContainsKey(card.type)) { //custom card from vendor plugin var vendor = Core.Vendors.Cards[card.type]; return(vendor.Render(request)); } else { //card cardview = new View("/Views/Card/Kanban/Type/card.html"); useLayout = true; } if (useLayout == true) { //load card custom design var view = new View("/Views/Card/Kanban/Layout/" + card.layout.ToString() + ".html"); if (card.name.IndexOf("[x]") == 0 || card.name.IndexOf("[X]") == 0) { var checkmark = new View("/Views/Card/Kanban/Elements/checkmark.html"); view["name"] = checkmark.Render() + card.name.Substring(4); } else if (card.name.IndexOf("[!]") == 0 || card.name.IndexOf("[!]") == 0) { var checkmark = new View("/Views/Card/Kanban/Elements/warning.html"); view["name"] = checkmark.Render() + card.name.Substring(4); } else { view["name"] = card.name; } view["colors"] = ""; if (boardColor != "") { view.Show("has-board-color"); view["board-color"] = "#" + boardColor; view["board-name"] = boardName; } //render custom design inside card container cardview["boardid"] = card.boardId.ToString(); cardview["layout"] = view.Render(); } //load card container cardview["id"] = card.cardId.ToString(); //render card container return(cardview.Render()); }