private void SavePersonAction(System.Windows.Window window) { if (EditMode) { var person = StructureService.GetPerson(this.PersonId.Value); person.FirstName = FirstName; person.LastName = LastName; if (SelectedRole != null) { person.RoleId = SelectedRole.Id; } person.UpdateModel(); var allStructures = StructureService.GetAllStructures(); if (allStructures != null) { foreach (var item in allStructures) { if (item.PersonId == person.Id) { item.UpdateModel(); } } } } else { int?roleId = null; if (SelectedRole != null) { roleId = SelectedRole.Id; } var person = new Person() { Id = StructureService.GetNewPersonId(), FirstName = FirstName, LastName = LastName, RoleId = roleId, }; StructureService.AddPerson(person); } CloseWindow(window); }