private List <Node> addNodeToBoard(BOARD board) { mindmap.createBoard(board); List <Node> listNode = new List <Node>(); List <int> idParents = new List <int>(); foreach (TOPIC topic in TOPICcontroller.getListTopic(board.ID)) { Color bcolor = ColorTranslator.FromHtml(topic.BACKCOLOR); Color fcolor = ColorTranslator.FromHtml(topic.FORECOLOR); Color pcolor = ColorTranslator.FromHtml(topic.COLOR_PATH); mPath path = new mPath(topic.SIZE_PATH, pcolor, topic.STYLE_PATH); bool flag = false; foreach (Node n in listNode) { if (topic.ID_PARENT == n.id) { Node node = mindmap.createNode(topic.ID, topic.LABEL_TP, new Point(topic.POS_X, topic.POS_Y), new Size(topic.WIDTH, topic.HEIGHT), bcolor, fcolor, path, (float)topic.SIZE, n, topic.TEXT_SIZE, topic.SHAPE, topic.FONT); mindmap.board.picbox.Controls.Add(node); listNode.Add(node); flag = true; break; } } if (!flag) { Node node = mindmap.createNode(topic.ID, topic.LABEL_TP, new Point(topic.POS_X, topic.POS_Y), new Size(topic.WIDTH, topic.HEIGHT), bcolor, fcolor, path, (float)topic.SIZE, null, topic.TEXT_SIZE, topic.SHAPE, topic.FONT); mindmap.board.picbox.Controls.Add(node); listNode.Add(node); } } return(listNode); }
public void update() { //storage STORAGE storage = new STORAGE(); storage.ID_BOARD = mindmap.board.id; storage.NAME_S = STORAGEcontroller.getNameStorage(storage.ID_BOARD); storage.DATE_MODIFIED = DateTime.Now; //board BOARD board = new BOARD(); board.ID = storage.ID_BOARD; board.WIDTH = mindmap.board.picbox.Width; board.HEIGHT = mindmap.board.picbox.Height; board.COLOR = HexConverter(mindmap.board.picbox.BackColor); //node TOPICcontroller.removeNode(convertNodeToTopic(board, mindmap.listDelete)); mindmap.listDelete.Clear(); List <TOPIC> existTopics = new List <TOPIC>() { }; existTopics = TOPICcontroller.getListTopic(board.ID); List <TOPIC> updateTopics = new List <TOPIC>(); List <TOPIC> newTopics = new List <TOPIC>(); newTopics = convertNodeToTopic(board, this.listNode); foreach (TOPIC topic in newTopics.ToList()) { foreach (TOPIC etopic in existTopics.ToList()) { if (topic.ID == etopic.ID) { updateTopics.Add(topic); newTopics.Remove(topic); } } } TOPICcontroller.updateListTopic(updateTopics); TOPICcontroller.addListTopic(newTopics, board.ID); BOARDcontroller.updateBoard(board); if (STORAGEcontroller.updateStorage(storage)) { MessageBox.Show("saved successfully", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } }