public IEnumerable<TrackedChange<Element>> SynchronizeElements(IEnumerable<ElementPo> aplicationElements, IEnumerable<Element> dbElements )
 {
    // List<ElementPo> tmpAplicationElements = new List<ElementPo>(aplicationElements);
     TrackChangesCollection<Element> databaseElements=new TrackChangesCollection<Element>(dbElements);
     databaseElements.ClearChanges();
     SynchronizeTravers(aplicationElements.Where(x=>x.Type==1),dbElements,databaseElements,null);
     return databaseElements.GetChanges();
 }
 private void SynchronizeTravers(IEnumerable<ElementPo> aplicationElements, IEnumerable<Element> dbElements, TrackChangesCollection<Element> databaseElements,Element parrent)
 {
     foreach (ElementPo aplicationElement in aplicationElements)
     {
         Element el = dbElements.FirstOrDefault(x => x.Name == aplicationElement.Name);
         if (el == null)
         {
             
             databaseElements.Add(aplicationElement.TransformToEntity());
         }
         else
         {
             SynchronizeTravers(aplicationElement.Childs.Where(x=>x.IsChecked),el.Childs,databaseElements,el);
         }
     }
 }
Example #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PermissionPo"/> class.
 /// </summary>
 public PermissionPo()
 {
     ElementsPermissions = new TrackChangesCollection<ElementPermissionPo>();
     DataPermissions=new TrackChangesCollection<DataPermissionPo>();
     Enabled = false;
 }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GroupPo"/> class.
 /// </summary>
 public GroupPo()
 {
     Permissions = new TrackChangesCollection<PermissionPo>();
     Enabled = true;
 }
Example #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UserPo"/> class.
 /// </summary>
 public UserPo()
 {
     Profession = new ProfessionPo();
     Groups = new TrackChangesCollection<GroupPo>();
     Permissions=new TrackChangesCollection<PermissionPo>();
 }