private void nowyAtrybytButton_Click(object sender, EventArgs e) { if (treeView.SelectedNode != null) { AtrybutyTreeNode groupNode = (AtrybutyTreeNode)treeView.SelectedNode; if (!groupNode.IsGroup) { groupNode = (AtrybutyTreeNode)groupNode.Parent; } Enova.Business.Old.DB.Web.Atrybut atrybut = new Enova.Business.Old.DB.Web.Atrybut() { GUID = Guid.NewGuid(), GrupaAtrybutow = groupNode.GrupaAtrybutow, Kolejnosc = 1000, Kolor = string.Empty, Nazwa = string.Empty, PSAtrybutID = 0, PSGrupaID = 0, Stamp = DateTime.Now, Synchronizacja = (int)Enova.Business.Old.Types.RowSynchronizeOld.NotsynchronizedNew, SynchronizacjaTekstury = (int)Enova.Business.Old.Types.SynchronizeImage.None }; Enova.Business.Old.Core.ContextManager.WebContext.AddToAtrybuty(atrybut); AtrybutyTreeNode node = new AtrybutyTreeNode(atrybut); groupNode.Nodes.Add(node); addedNodes.Add(node); treeView.SelectedNode = node; nazwaAtrybutuTextBox.Focus(); } }
public AtrybutyTreeNode(Enova.Business.Old.DB.Web.Atrybut atrybut) : base(atrybut.Nazwa) { this.grupa = atrybut.GrupaAtrybutow; this.atrybut = atrybut; isGroup = false; }
private void SaveChanges() { DateTime stamp = DateTime.Now; foreach (AtrybutyTreeNode gnode in treeView.Nodes) { foreach (AtrybutyTreeNode anode in gnode.Nodes) { Enova.Business.Old.DB.Web.Atrybut atrybut = anode.Atrybut; if (atrybut.EntityState == System.Data.EntityState.Modified) { if (atrybut.Synchronizacja == (int)RowSynchronizeOld.Synchronized) { atrybut.Stamp = stamp; atrybut.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedEdit; } } } Enova.Business.Old.DB.Web.GrupaAtrybutow grupa = gnode.GrupaAtrybutow; if (grupa.EntityState == System.Data.EntityState.Modified) { if (grupa.Synchronizacja == (int)RowSynchronizeOld.Synchronized) { grupa.Stamp = stamp; grupa.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedEdit; } } } foreach (AtrybutyTreeNode node in deletedNodes) { if (node.IsGroup) { node.GrupaAtrybutow.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedDelete; node.GrupaAtrybutow.Stamp = stamp; Enova.Business.Old.Core.ContextManager.WebContext.OptimisticSaveChanges(); Enova.Business.Old.Core.ContextManager.WebContext.Detach(node.GrupaAtrybutow); foreach (AtrybutyTreeNode anode in node.Nodes) { anode.Atrybut.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedDelete; anode.Atrybut.Stamp = stamp; Enova.Business.Old.Core.ContextManager.WebContext.OptimisticSaveChanges(); Enova.Business.Old.Core.ContextManager.WebContext.Detach(anode.Atrybut); } } else { node.Atrybut.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedDelete; node.Atrybut.Stamp = stamp; Enova.Business.Old.Core.ContextManager.WebContext.OptimisticSaveChanges(); Enova.Business.Old.Core.ContextManager.WebContext.Detach(node.Atrybut); } } Enova.Business.Old.Core.ContextManager.WebContext.OptimisticSaveChanges(); }