void SaveAssignments()
 {
     if (!_dirty || _currEmployeeId < 1)
     {
         return;
     }
     _dirty = false;
     foreach (AssignmentItem a in _data.GetAssignmentsByEmployeeID(_currEmployeeId).ToList())
     {
         _data.Assignments.Remove(a);
     }
     foreach (ProductTreeNode productNode in treeViewFeatures.Nodes)
     {
         foreach (FeatureTreeNode featureNode in productNode.Nodes)
         {
             if (featureNode.Checked)
             {
                 _data.Assignments.Add(new AssignmentItem
                 {
                     EmployeeID = _currEmployeeId,
                     ProductID  = productNode.ProductID,
                     FeatureID  = featureNode.FeatureID
                 });
             }
         }
     }
 }