private void AttachChildren(Entities ctx, BadgeEditDTO data, int badgeId)
 {
     foreach (var badgeActivity in data.BadgeActivities)
     {
         if (badgeActivity.IsDeleted && badgeActivity.BadgeActivityId > 0) // Delete
         {
             var deleteBadgeActivity = new BadgeActivity
             {
                 BadgeActivityId = badgeActivity.BadgeActivityId
             };
             ctx.BadgeActivities.Attach(deleteBadgeActivity);
             ctx.BadgeActivities.Remove(deleteBadgeActivity);
         }
         else if (!badgeActivity.IsDeleted && badgeActivity.BadgeActivityId == 0) // Insert
         {
             var insertBadgeActivity = new BadgeActivity
             {
                 ActivityId = badgeActivity.ActivityId,
                 BadgeId    = badgeId
             };
             ctx.BadgeActivities.Add(insertBadgeActivity);
         }
         else if (!badgeActivity.IsDeleted && badgeActivity.BadgeActivityId > 0) // Update
         {
             var updateBadgeActivity = new BadgeActivity
             {
                 BadgeActivityId = badgeActivity.BadgeActivityId,
                 ActivityId      = badgeActivity.ActivityId,
                 BadgeId         = badgeId
             };
             ctx.BadgeActivities.Attach(updateBadgeActivity);
             var objectState = ((IObjectContextAdapter)ctx).ObjectContext.ObjectStateManager;
             objectState.GetObjectStateEntry(updateBadgeActivity).SetModifiedProperty("ActivityId");
             objectState.GetObjectStateEntry(updateBadgeActivity).SetModifiedProperty("BadgeId");
         }
     }
 }
 private void AttachChildren(Entities ctx, BadgeEditDTO data, int badgeId)
 {
     foreach (var badgeActivity in data.BadgeActivities)
     {
         if (badgeActivity.IsDeleted && badgeActivity.BadgeActivityId > 0) // Delete
         {
             var deleteBadgeActivity = new BadgeActivity
             {
                 BadgeActivityId = badgeActivity.BadgeActivityId
             };
             ctx.BadgeActivities.Attach(deleteBadgeActivity);
             ctx.BadgeActivities.Remove(deleteBadgeActivity);
         }
         else if (!badgeActivity.IsDeleted && badgeActivity.BadgeActivityId == 0) // Insert
         {
             var insertBadgeActivity = new BadgeActivity
             {
                 ActivityId = badgeActivity.ActivityId,
                 BadgeId = badgeId
             };
             ctx.BadgeActivities.Add(insertBadgeActivity);
         }
         else if (!badgeActivity.IsDeleted && badgeActivity.BadgeActivityId > 0) // Update
         {
             var updateBadgeActivity = new BadgeActivity
             {
                 BadgeActivityId = badgeActivity.BadgeActivityId,
                 ActivityId = badgeActivity.ActivityId,
                 BadgeId = badgeId
             };
             ctx.BadgeActivities.Attach(updateBadgeActivity);
             var objectState = ((IObjectContextAdapter)ctx).ObjectContext.ObjectStateManager;
             objectState.GetObjectStateEntry(updateBadgeActivity).SetModifiedProperty("ActivityId");
             objectState.GetObjectStateEntry(updateBadgeActivity).SetModifiedProperty("BadgeId");
         }
     }
 }