public void Add(IrfUserData userData) { if(userData == null) throw new ArgumentNullException("userData"); if(string.IsNullOrEmpty(userData.UserName)) throw new ArgumentNullException("userData.UserName"); usersData.Add(userData.UserName, userData); }
public void Merge(IrfUserData userData) { foreach (var note in userData.notes) { if (!notes.ContainsKey(note.Key)) notes.Add(note.Key, note.Value); else notes[note.Key].Merge(note.Value); } }
public override Node ExitUserNode(Production node) { var values = GetChildValues(node); if (values.Count != 0) { IrfUserData userData = new IrfUserData(); userData.UserName = (string)values[0]; for (int i = 1; i < values.Count; i++) userData.Add((IrfNote)values[i]); node.AddValue(userData); } return node; }