public void SaveUserMainTreeTransformMatrix() { using (var db = new DAL.DbContext()) { try { int id = int.Parse(this.Request.Headers.GetValues("id").First()); UserTree userTree = db.UserTrees.Find(id); userTree.TransformMatrix = this.Request.Headers.GetValues("matrix").First(); db.Entry(userTree).State = EntityState.Modified; db.SaveChanges(); }catch (Exception e) { db.Errors.Add(new Error { Message = e.Message, StackTrace = e.StackTrace, DateThrow = DateTime.Now }); db.SaveChanges(); } } }
public MessageExplorer() { tree = new UserTree { Name = "tree", ReadOnly = false, Text = "User tree", UserKeys = UserTreeKeys.Department | UserTreeKeys.Position | UserTreeKeys.User | UserTreeKeys.Access | UserTreeKeys.Current }; tree.CellDoubleClick += TreeCellDoubleClick; tree.ListInfo.HotTrackingCell = false; Name = "MessageExplorer"; Text = "Messanger"; PackStart(tree, true, true); Localize(); if (MessageAddress.DBTable != null) { MessageAddress.DBTable.DefaultView.CollectionChanged += OnListChanged; } SynchMessage(); }
public void SaveUserMainTree([FromBody] ClassWithTreeHtml treeClass) { int id = -1; try { using (var db = new DAL.DbContext()) { id = int.Parse(this.Request.Headers.GetValues("id").First()); UserTree userTree = db.UserTrees.Find(id); userTree.TreeHtmlCode = treeClass.TreeHtml; db.Entry(userTree).State = EntityState.Modified; db.SaveChanges(); } }catch (Exception e) { DAL.DbContext db = new DAL.DbContext(); db.Errors.Add(new Error { DateThrow = DateTime.Now, Message = "Błąd przy zapisie drzewa o ID:" + id + "/ SaveUSerMainTree() HtmlBuilderControllerAPI - " + e.Message, StackTrace = e.StackTrace }); db.SaveChanges(); } }
private void LoadUserTrees() { try { int lastSelectedUserID = this.SelectedUserID; this.comboUserID.ComboBox.DataSource = this.userAPIs.GetUserIndexes(this.comboActiveOption.SelectedIndex == 0 ? GlobalEnums.ActiveOption.Active : GlobalEnums.ActiveOption.Both); IList <UserTree> userTrees = this.userAPIs.GetUserTrees(this.comboActiveOption.SelectedIndex == 0 ? GlobalEnums.ActiveOption.Active : GlobalEnums.ActiveOption.Both); this.treeUserID.DataSource = new BindingSource(userTrees, ""); this.treeUserID.ExpandAll(); if (this.SelectedUserID != lastSelectedUserID) { //OPTION: TRY TO KEEP LAST SelectedUserID UserTree userTree = userTrees.FirstOrDefault(w => w.PrimaryID == lastSelectedUserID); if (userTree != null) { this.treeUserID.SelectObject(userTree); } } } catch (Exception exception) { ExceptionHandlers.ShowExceptionMessageBox(this, exception); } }
public void CreateUser(string userName, string pass, int numChars, int numSpecChars) { UserTree ut = new UserTree(userName, pass, numChars, numSpecChars); Dossier root = ut.Racine; root.Dossiers.Add(new Dossier("Applications", "", "Mots de passes des applications")); root.Dossiers.Add(new Dossier("Internet", "", "Mots de passes des sites internet")); root.Dossiers.Add(new Dossier("Machines", "", "Mots de passes des différentes machines")); userData = ut; Save(); }
public void save(UserTree user) { //On crée une instance de XmlSerializer dans lequel on lui spécifie le type de l'objet à sérialiser XmlSerializer serilizer = new XmlSerializer(typeof(UserTree)); //Création d'un Stream Writer qui permet d'écrire dans un fichier. On lui spécifie le chemin. using (StreamWriter stream = new StreamWriter(getFileName(Environment.UserName), false)) { //On sérialise en spécifiant le flux d'écriture et l'objet à sérialiser. serilizer.Serialize(stream, user); } }
private List <UserTree> process2TreeModel(List <DepartmentManageModel> source, UserTree curRootNode, List <FrontUserDto> userlist) { List <UserTree> resultlist = new List <UserTree>(); if (source != null && source.Count() > 0)//出口1 { if (curRootNode == null) { return(resultlist);//出口2 } //当前节点的直接子节点list IEnumerable <DepartmentManageModel> sublist = source.Where(m => m.ParentID == Convert.ToInt32(curRootNode.id)); if (sublist == null || sublist.Count() == 0) { return(resultlist); } // var pmodel=sublist.FirstOrDefault(); foreach (var dep in sublist)//出口3 { UserTree t = new UserTree() { id = dep.DepartmentID.ToString(), text = dep.Name, type = 0 }; t.children = new List <UserTree>(); t.children = process2TreeModel(source, t, userlist); var result = userlist.Where(u => u.DepartmentID == Convert.ToInt32(t.id)); if (result.Count() > 0) { foreach (var u in result) { t.children.Add(new UserTree() { id = u.UserID, text = u.Name, type = 1, iconCls = "icon-user", children = new List <UserTree>() }); } } curRootNode.children.Add(t); } return(curRootNode.children); } return(new List <UserTree>()); }
public void save(UserTree user) { using (Stream stream = File.Open(getFileName(Environment.UserName), FileMode.Create)) { using (RijndaelManaged algo = new RijndaelManaged()) { using (CryptoStream encryptedFile = new CryptoStream(stream, algo.CreateEncryptor(Key, IV), CryptoStreamMode.Write)) { BinaryFormatter formater = new BinaryFormatter(); formater.Serialize(encryptedFile, user); } } } }
public UserTree load(string userName) { //On crée une instance de XmlSerializer dans lequel on lui spécifie le type XmlSerializer serializer = new XmlSerializer(typeof(UserTree)); //Création d'un StreamReader qui permet de lire un fichier. On lui spécifie le chemin. using (StreamReader stream = new StreamReader(getFileName(userName))) { //On obtient une instance de l'objet désérialisé. UserTree user = (UserTree)serializer.Deserialize(stream); //On ferme le flux en tout temps !!! return(user); } }
private int?getSelectedUserID() { if (this.treeUserID.SelectedObject != null) { UserTree userTree = (UserTree)this.treeUserID.SelectedObject; if (userTree != null && userTree.ParameterName == "UserID") { return(userTree.PrimaryID); } else { return(null); } } else { return(null); } }
public HtmlTreeModel GetUserTree() { HtmlTreeModel htm = new HtmlTreeModel(); try { int id = int.Parse(this.Request.Headers.GetValues("tid").First()); // id drzewa które chcemy pobrać using (var db = new DAL.DbContext()) { UserTree ut = db.UserTrees.Find(id); htm.HtmlTree = ut.TreeHtmlCode; htm.Tid = ut.UserTreeID; if (ut.UserTreeNodeID == null) //korzeń główny to userid { htm.Rootid = ut.UserID; htm.Mainuserroot = 1; } else { htm.Rootid = (int)ut.UserTreeNodeID; htm.Mainuserroot = 0; } htm.Ismaintree = ut.isMainTree == true ? 1 : 0; } } catch (Exception e) { DAL.DbContext db = new DAL.DbContext(); db.Errors.Add(new Error { Message = "Błąd w pobieraniu drzewa po id -> najprawdopodobniej nie istnieje podany id, HtmlBuilderController metoda:GetUserTree() - " + e.Message, StackTrace = e.StackTrace, DateThrow = DateTime.Now }); db.SaveChanges(); } return(htm); }
public void Load(string userName) { userData = database.load(userName); path = new List <Dossier>(); path.Add(userData.Racine); }
public DocumentFilterView() { toolFilter = new ToolSearchEntry() { Name = "Filter", FillWidth = true }; fields = new LayoutList() { EditMode = EditModes.ByClick, GenerateFields = false, GenerateColumns = false, FieldInfo = new LayoutFieldInfo( new LayoutField { Name = nameof(DocumentFilter.IsWork) }, new LayoutField { Name = nameof(DocumentFilter.IsCurrent) }, new LayoutField { Name = nameof(DocumentFilter.Number) }, new LayoutField { Name = nameof(DocumentFilter.Title) }, new LayoutField { Name = nameof(DocumentFilter.Customer) }, new LayoutField { Name = nameof(DocumentFilter.DateType) }, new LayoutField { Name = nameof(DocumentFilter.Date) } ), Name = "Basic" }; templates = new FlowTree { ShowListNode = false, FlowKeys = FlowTreeKeys.Template, Name = "Templates", FilterEntry = toolFilter.Entry }; templates.ListInfo.Columns.Add( new LayoutColumn { Name = nameof(TableItemNode.Count), Width = 35, Style = GuiEnvironment.Theme["CellFar"], Invoker = countInvoker }); works = new FlowTree { ShowListNode = false, FlowKeys = FlowTreeKeys.Work | FlowTreeKeys.Stage, Name = "Works_Stage" }; //dates = new VBox(); //dates.PackStart(dateType) users = new UserTree() { ShowListNode = false, UserKeys = UserTreeKeys.Department | UserTreeKeys.Position | UserTreeKeys.User | UserTreeKeys.Current, Name = "Users" }; box = new GroupBox( new GroupBoxItem { Widget = templates, Name = "Document Type", FillWidth = true, FillHeight = true }, //new GroupBoxItem { Widget = fields, Row = 1, Name = "Parameters", FillWidth = true, Height = 160, Autosize = false, Expand = false }, new GroupBoxItem { Widget = works, Row = 2, Name = "Workflow & Stage", FillWidth = true, FillHeight = true, Expand = false }, new GroupBoxItem { Widget = users, Row = 3, Name = "Staff", FillWidth = true, FillHeight = true, Expand = false }) { Name = "Map" }; PackStart(box, true, true); MinWidth = 330; var nodeSend = new TableItemNode() { Name = "Send", Tag = new DocumentFilter() { Staff = (User)GuiEnvironment.User, DateType = DocumentSearchDate.WorkEnd, Date = new DateInterval(DateTime.Today), IsWork = CheckedState.Unchecked } }; GuiService.Localize(nodeSend, "DocumentWorker", nodeSend.Name); var nodeRecent = new TableItemNode() { Name = "Recent", Tag = new DocumentFilter() { Staff = (User)GuiEnvironment.User, DateType = DocumentSearchDate.WorkEnd, Date = new DateInterval(DateTime.Today) } }; GuiService.Localize(nodeRecent, "DocumentWorker", nodeRecent.Name); var nodeSearch = new TableItemNode() { Name = "Search", Tag = new DocumentFilter() { } }; GuiService.Localize(nodeSearch, "DocumentWorker", nodeSearch.Name); Name = nameof(DocumentFilterView); }
/// <summary> /// 获取所有部门转换成树形结构 /// </summary> /// <returns></returns> public List <UserTree> GetDepartment(List <FrontUserDto> userlist) { var service = ML.BC.Infrastructure.Ioc.GetService <IEnterpriseDepartmentManagementService>(); List <DepartmentDto> list = new List <DepartmentDto>(); if (HasFunction(Functions.Root_SystemSetting_OrganizationManagement_ShowAll)) { list = service.GetMyDepartment(BCSession.User.EnterpriseID); } else if (BCSession.User.DepartmentID.HasValue) { list = service.GetMyDepartment(BCSession.User.EnterpriseID, BCSession.User.DepartmentID); } if (list != null && list.Count > 0) { List <DepartmentManageModel> mylist = new List <DepartmentManageModel>(); foreach (var l in list) { if (l.Available) { DepartmentManageModel m = new DepartmentManageModel() { DepartmentID = l.DepartmentID, Description = l.Description, _parentId = l.ParentID, Deleted = l.Deleted, Available = l.Available, EnterpriseID = l.EnterpriseID, Name = l.Name, ParentID = l.ParentID }; mylist.Add(m); } } mylist[0]._parentId = 0; //不在根节点部门下的管理者不能显示 List <UserTree> all = new List <UserTree>(); var noDepartmentUser = userlist.Where(u => u.DepartmentID == null).ToList(); foreach (var nouser in noDepartmentUser) { all.Add(new UserTree() { id = nouser.UserID, text = nouser.Name, iconCls = "icon-user", type = 1, children = new List <UserTree>() }); } foreach (var rot in mylist) { if (rot._parentId == 0) { UserTree root = new UserTree(); root.id = rot.DepartmentID.ToString(); root.text = rot.Name; root.type = 0; root.children = new List <UserTree>(); root.children = process2TreeModel(mylist, root, userlist); var res = userlist.Where(u => u.DepartmentID == Convert.ToInt32(root.id)); if (res.Count() > 0) { foreach (var u in res) { root.children.Add(new UserTree() { id = u.UserID, text = u.Name, type = 1, iconCls = "icon-user", children = new List <UserTree>() }); } } all.Add(root); } } return(all); } else { return(new List <UserTree>()); } }
public HtmlTreeModel GetUserMainTree(string id, int mainuser) //mainuser - 0 - nie chcemy tworzenia drzewa jeżeli nie istnieje 1 - chcemy { HtmlTreeModel htm = new HtmlTreeModel(); int id_result = -1; try { id_result = int.Parse(id); }catch (Exception e) { } using (var db = new DAL.DbContext()) { try { User user = db.Users.Find(id_result); if (user != null) { var userTrees = db.UserTrees.Where(ut => ut.UserID == user.UserID); if (userTrees != null && userTrees.Count() > 0) // user ma już drzewo - zwracamy które ma ustawione isMainTree na true { htm.HtmlTree = userTrees.Where(ut => ut.isMainTree == true).First().TreeHtmlCode; htm.Tid = userTrees.Where(ut => ut.isMainTree == true).First().UserTreeID; return(htm); } else //pierwsze zalogowanie - użytkownik nie ma drzewa stworzonego { if (mainuser == 0) { return(htm); // wartość na 0 nie chcemy tworzyć drzewa tylko pobrać jak jest jak nie to nic -- ExchangeTree } //data-have - czy dodany już ojciec/matka/partner //data-mainuser - czy to ten co ma konto na stronce czy dodany jako węzeł 1-main, 0-dodany string ageLabelX; string dateBornX; string dateDeadX; string ageValueX; if (user.LanguageID == 1) { ageLabelX = "147.5"; dateBornX = "170"; dateDeadX = "174"; ageValueX = "162"; } else { ageLabelX = "145.5"; dateBornX = "170"; dateDeadX = "173"; ageValueX = "163"; } htm.HtmlTree = "<g class=\"tree-elements\" id=\"" + user.UserID + "\" onmousedown=\"mousedowntreeelement(evt)\" transform=\"matrix(1 0 0 1 0 0)\" data-mainuser=\"1\" data-haveRightLine=\"0\" data-haveLeftLine=\"0\" data-haveUpLine=\"1\">" + "<rect class=\"tree-element-frames\" width=\"200\" height=\"100\" x=\"100\" y=\"50\" fill=\"white\" stroke=\"black\"/>" + "<text class=\"tree-element-texts\" x=\"200\" y=\"65\" font-family=\"verdana\" font-size=\"12\" fill=\"blue\" alignment-baseline=\"middle\" text-anchor=\"middle\">" + user.NameSurname + "</text>" + "<rect class=\"addparents\" width=\"180\" height=\"20\" x=\"110\" y=\"30\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"0\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addparents-dbt\" x=\"200\" y=\"40\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"20\" data-have=\"0\"></text>" + "<rect class=\"addpartnerR\" width=\"20\" height=\"80\" x=\"300\" y=\"60\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"0\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addpartnerR-dbt\" transform=\"rotate(90)\" x=\"100\" y=\"-310\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"22\" data-have=\"0\"></text>" + "<rect class=\"addpartnerL\" width=\"20\" height=\"80\" x=\"80\" y=\"60\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"0\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addpartnerL-dbt\" transform=\"rotate(90)\" x=\"100\" y=\"-90\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\"text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"23\" data-have=\"0\"></text>" + "<rect class=\"addchildren\" width=\"180\" height=\"20\" x=\"110\" y=\"150\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"1\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addchildren-dbt\" x=\"200\" y=\"160\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"24\" data-have=\"1\"></text>" + "<image class=\"nodeImage\" xlink:href=\"\" x=\"230\" y=\"80\" height=\"60\" width=\"60\"/>" + "<text class=\"datebirthLabel-dbt\" x=\"138\" y=\"100\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"29\"></text>" + "<text class=\"datedeadLabel-dbt\" x=\"138\" y=\"110\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"30\"></text>" + "<text class=\"ageLabel-dbt\" x=\"" + ageLabelX + "\" y=\"120\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"31\"></text>" + "<text class=\"maininfoLabel-dbt\" x=\"165\" y=\"86\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"32\"></text>" + "<text class=\"datebirthValue\" x=\"" + dateBornX + "\" y=\"100\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<text class=\"datedeadValue\" x=\"" + dateDeadX + "\" y=\"110\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<text class=\"ageValue\" x=\"" + ageValueX + "\" y=\"120\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<image class=\"copyImage\" xlink:href=\"\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickCopy(this)\"/>" + "<rect class=\"copyImageBorder\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"otherpartnersImage\" xlink:href=\"\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickOtherPartners(this)\"/>" + "<rect class=\"otherpartnersImageBorder\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "</g>"; UserTree newtree = new UserTree { isMainTree = true, TreeHtmlCode = htm.HtmlTree, UserID = user.UserID, User = user, TransformMatrix = "matrix(2 0 0 2 0 0)" }; db.UserTrees.Add(newtree); db.SaveChanges(); htm.Tid = newtree.UserTreeID; return(htm); } } else // nie znaleziono usera o podanym id { db.Errors.Add(new Error { Message = "HtmlBuilderController - API - (GetUserMainTree) - user is null !! - sprawdź przekazywany id do metody przekazana wartość:" + id, StackTrace = "HtmlBuilderController - API - (GetUserMainTree) - user is null !!", DateThrow = DateTime.Now }); db.SaveChanges(); return(htm); } }catch (Exception e) // { db.Errors.Add(new Error { Message = e.Message, StackTrace = e.StackTrace, DateThrow = DateTime.Now }); db.SaveChanges(); return(htm); } } }
public async Task <HtmlTreeModel> BuildUserTree() { HtmlTreeModel htm = new HtmlTreeModel(); try { User user = null; UserTreeNode usertreenodecaller = null; // ten węzeł na którym klikneliśmy dodaj kolejnego partnera UserTreeNode usertreenodenew = null; //partner obecnie tworzony jako nowy partner danej osoby int id = int.Parse(this.Request.Headers.GetValues("id").First()); //nid -> usertreenodeid węzeł dla którego jest stworzone drzewo int mainuser = int.Parse(this.Request.Headers.GetValues("mainuser").First()); string namenew = this.Request.Headers.GetValues("name").First(); string surnamenew = this.Request.Headers.GetValues("surname").First(); string datebornnew = this.Request.Headers.GetValues("dateborn").First(); string datedeadnew = this.Request.Headers.GetValues("datedead").First(); string additionalinfonew = this.Request.Headers.GetValues("additionalinfo").First(); int withimage = int.Parse(this.Request.Headers.GetValues("withimage").First()); using (var db = new DAL.DbContext()) { //---- // wyszukiwanie czy poprawne dane if (mainuser == 1) //tabela users { user = db.Users.Find(id); //korzeń naszego drzewa htm.Rootid = user.UserID; htm.Mainuserroot = 1; htm.NameSurnameCaller = user.NameSurname; if (user == null) // błędne podane user id { return(new HtmlTreeModel()); } } else if (mainuser == 0) //mainuser - 0 - szukamy czy istnieje taki node o podanym id { usertreenodecaller = db.UserTreeNodes.Find(id); //korzeń naszego drzewa zapisujemy id htm.Rootid = usertreenodecaller.UserTreeNodeID; htm.Mainuserroot = 0; htm.NameSurnameCaller = usertreenodecaller.NameSurname; if (usertreenodecaller == null) // błędny podany node id { return(new HtmlTreeModel()); } user = db.UserTreesUserTreeNodes.Where(x => x.UserTreeNodeID == id).First().UserTree.User; if (user == null) //usera nie ma wychodzimy -> każde drzewo/poddrzewo musi mieć przypisanego usera { return(new HtmlTreeModel()); } } //---- //------ //Wstawianie do bazy nowego noda byte[] filebytes = null; if (withimage == 1) { var provider = new MultipartMemoryStreamProvider(); await this.Request.Content.ReadAsMultipartAsync(provider); filebytes = await provider.Contents[0].ReadAsByteArrayAsync(); } DateTime?dateborn = null; DateTime?datedead = null; if (datebornnew != "") //podano date born { var tabDateborn = datebornnew.Split('-'); dateborn = new DateTime(int.Parse(tabDateborn[0]), int.Parse(tabDateborn[1]), int.Parse(tabDateborn[2])); } if (datedeadnew != "") //podano date death { var tabDatedead = datedeadnew.Split('-'); datedead = new DateTime(int.Parse(tabDatedead[0]), int.Parse(tabDatedead[1]), int.Parse(tabDatedead[2])); } usertreenodenew = new UserTreeNode { Name = namenew, Surname = surnamenew, DateBorn = dateborn, DateDead = datedead, AdditionalInfo = additionalinfonew, Image = filebytes, }; db.UserTreeNodes.Add(usertreenodenew); db.SaveChanges(); //----- string ageLabelX; string dateDeadX; string ageValueX; if (user.LanguageID == 1) { ageLabelX = "147"; dateDeadX = "174"; ageValueX = "162"; } else { ageLabelX = "145"; dateDeadX = "173"; ageValueX = "163"; } //html -- połączenie między węzłami + 2x węzły htm.HtmlTree = "<path d=\"M300 100 Q360 250 420 100\" fill=\"transparent\" stroke=\"black\" data-left=\"" + id + "\" data-right=\"" + usertreenodenew.UserTreeNodeID + "\"/>" + //przeliczone na stałe z myscripts.js tam dynamicznie "<g class=\"tree-elements\" id=\"" + id + "\" onmousedown=\"mousedowntreeelement(evt)\" transform=\"matrix(1 0 0 1 0 0)\" data-mainuser=\"" + mainuser + "\" data-haveRightLine=\"1\" data-haveLeftLine=\"0\" data-haveUpLine=\"1\">" + "<rect class=\"tree-element-frames\" width=\"200\" height=\"100\" x=\"100\" y=\"50\" fill=\"white\" stroke=\"black\"/>" + "<text class=\"tree-element-texts\" x=\"200\" y=\"65\" font-family=\"verdana\" font-size=\"12\" fill=\"blue\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<rect class=\"addparents\" width=\"180\" height=\"20\" x=\"110\" y=\"30\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"0\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addparents-dbt\" x=\"200\" y=\"40\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"20\" data-have=\"0\"></text>" + "<rect class=\"addchildren\" width=\"180\" height=\"20\" x=\"110\" y=\"150\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"0\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addchildren-dbt\" x=\"200\" y=\"160\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"24\" data-have=\"0\"></text>" + "<image class=\"nodeImage\" xlink:href=\"\" x=\"230\" y=\"80\" height=\"60\" width=\"60\"/>" + "<text class=\"datebirthLabel-dbt\" x=\"138\" y=\"100\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"29\"></text>" + "<text class=\"datedeadLabel-dbt\" x=\"138\" y=\"110\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"30\"></text>" + "<text class=\"ageLabel-dbt\" x=\"" + ageLabelX + ".5\" y=\"120\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"31\"></text>" + "<text class=\"maininfoLabel-dbt\" x=\"165\" y=\"86\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"32\"></text>" + "<text class=\"datebirthValue\" x=\"170\" y=\"100\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<text class=\"datedeadValue\" x=\"" + dateDeadX + "\" y=\"110\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<text class=\"ageValue\" x=\"" + ageValueX + "\" y=\"120\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>"; if (mainuser == 0) // gdy nie mainuser -> mają być pola do edycji/usuwania/kopiowania/widoku innych partnerów { htm.HtmlTree += "<image class=\"editImage\" xlink:href=\"\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickEdit(this)\"/>" + "<rect class=\"editImageBorder\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"trashImage\" xlink:href=\"\" x=\"120\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickDelete(this)\"/>" + "<rect class=\"trashImageBorder\" x=\"120\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"copyImage\" xlink:href=\"\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickCopy(this)\"/>" + "<rect class=\"copyImageBorder\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"otherpartnersImage\" xlink:href=\"\" x=\"138\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickOtherPartners(this)\"/>" + "<rect class=\"otherpartnersImageBorder\" x=\"138\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>"; } else if (mainuser == 1) { htm.HtmlTree += "<image class=\"copyImage\" xlink:href=\"\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickCopy(this)\"/>" + "<rect class=\"copyImageBorder\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"otherpartnersImage\" xlink:href=\"\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickOtherPartners(this)\"/>" + "<rect class=\"otherpartnersImageBorder\" x=\"102\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>"; } htm.HtmlTree += "</g>" + //drugi nowy węzeł "<g class=\"tree-elements\" id=\"" + usertreenodenew.UserTreeNodeID + "\" onmousedown=\"mousedowntreeelement(evt)\" transform=\"matrix(1 0 0 1 0 0)\" data-mainuser=\"0\" data-haveRightLine=\"0\" data-haveLeftLine=\"1\" data-haveUpLine=\"1\">" + "<rect class=\"tree-element-frames\" width=\"200\" height=\"100\" x=\"420\" y=\"50\" fill=\"white\" stroke=\"black\"/>" + "<text class=\"tree-element-texts\" x=\"520\" y=\"65\" font-family=\"verdana\" font-size=\"12\" fill=\"blue\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<rect class=\"addparents\" width=\"180\" height=\"20\" x=\"430\" y=\"30\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"0\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addparents-dbt\" x=\"520\" y=\"40\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"20\" data-have=\"0\"></text>" + "<rect class=\"addpartnerR\" width=\"20\" height=\"80\" x=\"620\" y=\"60\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"1\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addpartnerR-dbt\" transform=\"rotate(90)\" x=\"100\" y=\"-630\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"22\" data-have=\"1\"></text>" + "<rect class=\"addpartnerL\" width=\"20\" height=\"80\" x=\"400\" y=\"60\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"1\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addpartnerL-dbt\" transform=\"rotate(90)\" x=\"100\" y=\"-410\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\"text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"23\" data-have=\"1\"></text>" + "<rect class=\"addchildren\" width=\"180\" height=\"20\" x=\"430\" y=\"150\" fill=\"white\" stroke=\"#428bca\" visibility=\"hidden\" data-have=\"0\" onclick=\"addNewNodeToTreeClick(this)\"/>" + "<text class=\"addchildren-dbt\" x=\"520\" y=\"160\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" visibility=\"hidden\" data-tag=\"24\" data-have=\"0\"></text>" + "<image class=\"nodeImage\" xlink:href=\"\" x=\"550\" y=\"80\" height=\"60\" width=\"60\"/>" + "<text class=\"datebirthLabel-dbt\" x=\"458\" y=\"100\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"29\"></text>" + "<text class=\"datedeadLabel-dbt\" x=\"458\" y=\"110\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"30\"></text>" + "<text class=\"ageLabel-dbt\" x=\"" + (int.Parse(ageLabelX) + 320) + ".5\" y=\"120\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"31\"></text>" + "<text class=\"maininfoLabel-dbt\" x=\"485\" y=\"86\" font-family=\"verdana\" font-size=\"6\" fill=\"black\" alignment-baseline=\"middle\" text-anchor=\"middle\" data-tag=\"32\"></text>" + "<text class=\"datebirthValue\" x=\"490\" y=\"100\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<text class=\"datedeadValue\" x=\"" + (int.Parse(dateDeadX) + 320) + "\" y=\"110\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + "<text class=\"ageValue\" x=\"" + (int.Parse(ageValueX) + 320) + "\" y=\"120\" font-family=\"verdana\" font-size=\"5\" fill=\"grey\" alignment-baseline=\"middle\" text-anchor=\"middle\"></text>" + //opcje edytuj/usuń/kopiuj/inni partnerzy "<image class=\"editImage\" xlink:href=\"\" x=\"422\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickEdit(this)\"/>" + "<rect class=\"editImageBorder\" x=\"422\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"trashImage\" xlink:href=\"\" x=\"440\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickDelete(this)\"/>" + "<rect class=\"trashImageBorder\" x=\"440\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"copyImage\" xlink:href=\"\" x=\"422\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickCopy(this)\"/>" + "<rect class=\"copyImageBorder\" x=\"422\" y=\"455\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "<image class=\"otherpartnersImage\" xlink:href=\"\" x=\"458\" y=\"135\" height=\"13\" width=\"13\" visibility=\"hidden\" onclick=\"onClickOtherPartners(this)\"/>" + "<rect class=\"otherpartnersImageBorder\" x=\"458\" y=\"135\" height=\"13\" width=\"13\" fill=\"none\" stroke=\"#428bca\" stroke-width=\"0.2\" visibility=\"hidden\"/>" + "</g>"; int?usertreenodeid = usertreenodecaller == null ? (int?)null : usertreenodecaller.UserTreeNodeID; //nowe drzewo UserTree newtree = new UserTree { isMainTree = false, TransformMatrix = "matrix(2 0 0 2 0 0)", TreeHtmlCode = htm.HtmlTree, UserID = user.UserID, UserTreeNodeID = usertreenodeid, UserTreeNodePartnerID = usertreenodenew.UserTreeNodeID }; db.UserTrees.Add(newtree); db.SaveChanges(); //id stworzonego drzewa htm.Tid = newtree.UserTreeID; //łączenie nowego node z tree UserTreeUserTreeNode ututn = new UserTreeUserTreeNode { UserTreeID = newtree.UserTreeID, UserTreeNodeID = usertreenodenew.UserTreeNodeID }; db.UserTreesUserTreeNodes.Add(ututn); //łączenie nodecaller z tree jeżeli jest -> jak nie ma caller jest z tabelki user więc jest zapisywany jak zapisujemy do UserTree wyżej if (usertreenodeid != null) { UserTreeUserTreeNode ututn2 = new UserTreeUserTreeNode { UserTreeID = newtree.UserTreeID, UserTreeNodeID = (int)usertreenodeid }; db.UserTreesUserTreeNodes.Add(ututn2); } db.SaveChanges(); } } catch (Exception e) { DAL.DbContext db = new DAL.DbContext(); db.Errors.Add(new Error { Message = "Błąd w generowaniu drzewa kolejnego partnera, HtmlBuilderController metoda:BuildUserTree() - " + e.Message, StackTrace = e.StackTrace, DateThrow = DateTime.Now }); db.SaveChanges(); } return(htm); }